本文章对虚拟机的安装配置、jdk的安装以及hadoop完全分布式集群的搭建进行了讲解。

1、安装虚拟机、操作系统

2、设置IP、虚拟机在线安装软件

3、搭建hadoop完全分布式集群      

修改配置文件      

克隆虚拟机      

配置ssh免密码登录    

配置时间同步服务    

启动 关闭集群

操作环境

1.VMware

2.CentOS6.8系统

3.xshell5

4.linux 进入编辑文件,保存退出相关命令

1.进入文件  vi、vim 文件名(vim test.txt)

2.编辑完成之后,按ESC键 跳到命令模式(命令前面冒号是必要的):  

:w   保存文件但不退出vi  

:w file 将修改另外保存到file中,不退出vi  

:w!   强制保存,不推出vi  

:wq  保存文件并退出vi  

:wq! 强制保存文件,并退出vi  

:q  不保存文件,退出vi  

:q! 不保存文件,强制退出vi  

:e! 放弃所有修改,从上次保存文件开始再编辑

5.关闭防火墙的方法:

service iptables stop 关闭防火墙

chkconfig iptables off 永久关闭防火墙

操作步骤

VMware Workstation安装


hadoop3 停止 hadoop退出不保存命令_hadoop3 停止

2.1.1 创建Linux虚拟机

(1)首先我们在桌面上打开我们安装好的VMware虚拟机,然后选择创建新的虚拟机。

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_02

 

hadoop3 停止 hadoop退出不保存命令_IP_03

 

hadoop3 停止 hadoop退出不保存命令_hadoop_04

 

hadoop3 停止 hadoop退出不保存命令_IP_05

 

hadoop3 停止 hadoop退出不保存命令_hadoop_06

 

hadoop3 停止 hadoop退出不保存命令_IP_07

    这里是选择磁盘的容量的,如果你的磁盘太小的话,也可以降低一点。然后选择将虚拟磁盘拆分成多个文件,点击下一步。

 

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_08

      点击这里的自定义硬件,选择第三个,然后选择iso使用映像文件来创建这个虚拟机。点击关闭,然后点击完成。就完成master虚拟机的设置了。

hadoop3 停止 hadoop退出不保存命令_CentOS_09

 

hadoop3 停止 hadoop退出不保存命令_IP_10

 2.1.1 安装操作系统

Install or upgrade an existing system  安装或升级现有系统

Install system with basic video driver  安装过程中采用基本的显卡驱动

Rescue installed system 进入系统修复模式

Boot from local drive   退出安装,从磁盘启动

Memory test   内存检测

hadoop3 停止 hadoop退出不保存命令_IP_11

   弹出“Disc Found”对话框,选择“OK”来测试安装媒体,即DVD光盘,如图所示。选择“Skip”表示跳过,进入下一个界面之后直接单击“NEXT”按钮。

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_12

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_13

这里是选择它的安装语言的,我们选择英语。

 

hadoop3 停止 hadoop退出不保存命令_IP_14

 这个是选择键盘语言的,我们也选择英语。

hadoop3 停止 hadoop退出不保存命令_IP_15

         选择安装的存储设备,我们一般都是安装到本地硬盘,所以选择“Basic storage”,然后继续下一步。

 

hadoop3 停止 hadoop退出不保存命令_CentOS_16

 

hadoop3 停止 hadoop退出不保存命令_IP_17

       这时会弹出警示信息对话框,提醒用户是否需要删除检测到的这个硬盘的所有数据,在这里我们选择“yes”。

hadoop3 停止 hadoop退出不保存命令_CentOS_18

 设置主机名为“master.centos.com”,然后单击下一步,继续。

hadoop3 停止 hadoop退出不保存命令_IP_19

 设置主机名为“master.centos.com”,然后单击下一步,继续。

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_20

    设置管理员密码,我们在整本课程中所以节点的管理员密码都设置为“123456”,然后单击下一步。

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_21

 提示我们密码太弱,但是我们还是使用这个密码,选择 use anyway,确认。

hadoop3 停止 hadoop退出不保存命令_CentOS_22

 选择使用所有的空间,点击下一步

hadoop3 停止 hadoop退出不保存命令_IP_23

 点击下一步,会提示确认格式化并写入数据,单击“write changes to disk”

hadoop3 停止 hadoop退出不保存命令_IP_24

  选择安装Centos组件,这里选择“minimal”. 提示:centos的默认安装是最小安装。您现在可以选择另一套软件。 在这里我们选择minimum 最小号版本,最小号版本需要加载的东西比较少一点。然后点击下一步,就开始安装了。 please select any additional repositories that you want to use for software installation:请选择要用于软件安装的任何其他存储库

hadoop3 停止 hadoop退出不保存命令_IP_25

现在开始安装,这个过程等待的比较久一点,因为它有228个包需要下载、安装。

hadoop3 停止 hadoop退出不保存命令_CentOS_26

等它下载完了,就出现以下界面,然后它的右下角有一个 按钮,点击这个按钮,重启虚拟机。

hadoop3 停止 hadoop退出不保存命令_CentOS_27

 设置固定IP

为新建的虚拟机master,配置固定IP

查看IP

它现在已经进入到这个虚拟机里面了,那我们来查看一下它目前的ip. 那我们输入ifconfig 来查看IP。它目前所有虚拟机的IP是127.0.0.1。每个虚拟机创建之后都是这个IP,所以呢,我们链接到指定的虚拟机就需要重新设置IP。

hadoop3 停止 hadoop退出不保存命令_IP_28

新建虚拟机后配置固定IP

1重启服务 service network restart

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_29

 

2、修改配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0

      接下来我们看一下,我们修改一些什么样的配置文件,固定IP它在一个文件里,在 /etc/sysconfig/network-scripts/ifcfg-eth0 这个文件里。 vi /etc/sysconfig/network-scripts/ifcfg-eth0  vi表示要编辑这个文件。 然后我们输好之后按enter键进入,可以看到如下图: 按“A”“I”或”O”键,进入编辑状态

hadoop3 停止 hadoop退出不保存命令_IP_30

 

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_31

 

hadoop3 停止 hadoop退出不保存命令_CentOS_32

 然后我们按esc退出编辑,然后按:wq(按冒号的时候按着shift键),然后再按enter,这样它就把这个内容保存了。完成之后我们拉到页面最下方,我们重新输入 service network restart重启网络服务

可以cat  /etc/sysconfig/network-scripts/ifcfg-eth0查看修改内容

3、再次重启服务并查看IP

 service network restart

配置完再查看:ifconfig

这时你会发现固定IP已经设好

远程连接虚拟机(xshell5)

准备工作:SSH连接工具Xme5.exe

过程:使用Xmanager连接工具远程连接master

新建

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_33

     之后呢,我们需要去点击用户身份验证,在用户身份验证里边需要输入用户名的身份和密码,就是我们登陆虚拟机的时候所输入的用户名和密码。(记得打对勾,下次不用输密码)

 点击确定之后,出现了一个会话,然后我们点击连接。

hadoop3 停止 hadoop退出不保存命令_IP_34

 出现这种情况,要么是电脑卡,要么是连接不上,在这里呢是连接不上

hadoop3 停止 hadoop退出不保存命令_CentOS_35

 解决方法:我们来看一下虚拟机的网络- - 打开VMware虚拟机 点击 工具栏中的编辑下边有一个虚拟网络编辑器 我们使用的模式是 VMnet8的NAT的模式 选择VM8网卡 VM0是桥接,直接连接物理路由器的 VM1是主机模式,无法连接外网

hadoop3 停止 hadoop退出不保存命令_IP_36

 选中 VM8 NAT模式,然后我们找到它的子网IP,可以看到它现在的IP和我们虚拟机设置的固定IP(192.168.128.130)不在同一个网段,所以它连接不上,那我们把它修改到一个网段,将236修改成128

hadoop3 停止 hadoop退出不保存命令_IP_37

 然后点击NAT设置,这里的236也改为128网段,点击确定。

hadoop3 停止 hadoop退出不保存命令_IP_38

 然后再进入DHCP设置,也将它的IP地址修改为128网段,然后点击确定。 然后点击应用,这个时候它会重启NAT、DHCP的设置,然后再点击确定

hadoop3 停止 hadoop退出不保存命令_IP_39

。重新设置完成之后,接下来我们再打开Xshell窗口再判断一下进行连接,看看能不能连接上。 现在我们看到如下图,就是已经连接上的。

hadoop3 停止 hadoop退出不保存命令_IP_40

现在你在这个窗口所做的操作,就等同在master虚拟机所做的操作,因为它已经连接到虚拟机了

 虚拟机在线安装软件

配置本地yum源的主要步骤如下

1、进入     /etc/yum.repos.d目录。命令“cd /etc/yum.repos.d”

2、将除yum本地源以外的其他yum源禁用 命令“mv CentOS-Base.repo CentOS-Base.repo.bak”。 查看 yum.repos.d 目录下的文件,会看到  CentOS-Base.repo 、 CentOS-Vault.repo 、 CentOS-Debuginfo.repo 、 CentOS-fasttrack.repo 、 CentOS-Media.repo 5个文件,其中CentOS-Media.repo是yum本地源的配置文件。配置本地yum源,需要将除本地源以外的其他yum源禁用,可将 CentOS-Base.repo 、 CentOS-Vault.repo 、 CentOS-Debuginfo.repo 、 CentOS-fasttrack.repo 重新命名为  CentOS-Base.repo.bak 、 CentOS-Vault.repo.bak  、 CentOS-Debuginfo.repo.bak  、 CentOS-fasttrack.repo.bak   执行重命名命令mv CentOS-Base.repo CentOS-Base.repo.bak

hadoop3 停止 hadoop退出不保存命令_CentOS_41

 3、执行命令     vi CentOS-Media.repo 打开文件,如下图,修改其内容 Baseurl 就是它下载软件的位置,这里它提供了3个位置,我们只保留一个位置,其它两个位置删除。 将gpgcheck的值改为0 将enabled的值改为1

 

hadoop3 停止 hadoop退出不保存命令_CentOS_42

 4、挂载。执行命令“mount /dev/dvd /media” 如果返回     mount:you must specify the filesystem type 的信息提示,说明挂载没有成功。解决方案:打开虚拟机,然后右击master找到“设置”命令,在“虚拟机设置”对话框中的“硬件”选择“CD/DVD(IDE)”在右边设备状态点击“已连接”。

hadoop3 停止 hadoop退出不保存命令_IP_43

再次执行挂载命令。执行命令“mount /dev/dvd /media”,如下图,返回mount:block..... 信息提示,代表挂载成功

 

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_44

5、更新yum源。挂载成功之后,我们要通过 yum clean all 更新整个 yum源。,如下图,代表更新成功。

hadoop3 停止 hadoop退出不保存命令_IP_45

 

 配置本地yum源的主要步骤如下

1、进入     /etc/yum.repos.d目录。 命令“cd /etc/yum.repos.d”

2、将除yum本地源以外的其他yum源禁用 命令“mv CentOS-Base.repo CentOS-Base.repo.bak”。 3、修改 Centos-Media.repo文件

4、挂载。 命令“mount /dev/dvd /media”

5、更新yum源。 命令“yum clean all”

在Linux下安装Java

操作环境(xshell)

上传JDK安装包到/opt目录下

hadoop3 停止 hadoop退出不保存命令_CentOS_46

 进入/opt目录,执行命令“rpm –ivh jdk-7u80-linux-x64.rpm”安装JDK

hadoop3 停止 hadoop退出不保存命令_CentOS_47

总结方法 

安装软件:执行 rpm -ivh rpm包名,如: rpm -ivh apache-1.3.6.i386.rpm

2.升级软件:执行 rpm -Uvh rpm包名

3.反安装(卸载):执行 rpm -e rpm包名 卸载前一定要先用第7步,先来查询出来这个软件安装后的真正名称是啥,因为安装包名字和安装后的名字不一样

4.查询软件包的详细信息:执行 rpm -qpi rpm包名

5.查询某个文件是属于那个rpm包的:执行 rpm -qf rpm包名

6.查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名

7.查看某个包是否被安装 rpm -qa | grep XXXX(moudle name) 或者 rpm –q XXXX(moudle name)

 搭建Hadoop完全分布式集群

准备工作: 

1.新建虚拟机4台,分别命名master、slave1、slave2、slave3;  

2.每台虚拟机设置固定IP;

3.每台虚拟机安装必要软件;

 4.master: 1.5G ~2G内存、20G硬盘、NAT 和 slave1~slave3: 1G内存、20G硬盘、NAT

具体做法:

 1.新建虚拟机master,配置固定IP,关闭防火墙,安装必要软件;

2. 克隆master到salve1、slave2、slave3;

3.修改slave1~slave3的IP,改为固定IP

hadoop3 停止 hadoop退出不保存命令_hadoop_48

 

hadoop3 停止 hadoop退出不保存命令_IP_49

 过程:

hadoop安装

1. 通过xmanager的Xftp上传hadoop-2.6.4.tar.gz文件到/opt目录(配置前 首先将Hadoop安装包上传到虚拟机master的opt目录下)

2. 解压缩hadoop-2.6.4.tar.gz 文件 (然后对Hadoop安装包进行解压,并将解压后的文件放到虚拟机master 的 /usr/local目录下。) 执行命令: tar -zxf hadoop-2.6.4.tar.gz -C /usr/local

3.解压缩之后去 /usr/local/的目录下查看一下解压缩之后的信息  cd /usr/local/ 然后通过 ls 看到有一个 hadoop-2.6.4 的文件夹,这个就是我们解压缩之后的文件包,进入这个文件夹下查看相关信息   cd hadoop-2.6.4/ 然后通过ls 查看 hadoop-2.6.4文件夹下的信息

hadoop3 停止 hadoop退出不保存命令_IP_50

4.对Hadoop进行文件配置。需要的配置文件在 etc 下。进入到 etc 目录下通过 ls 查看 hadoop 的文件夹名称 ,然后进入到 hadoop 下进行配置

 

hadoop3 停止 hadoop退出不保存命令_hadoop_51

 

 修改配置文件

(1)修改 core-site.xml文件。这个是hadoop的核心配置文件,在这个文件下需要配置两个属性: fs.defaultFS配置了hadoop的HDFS系统的命名,位置为主机的8020端口,改名称为NameNode所在机器的机器名;hadoop.tmp.dir配置了hadoop临时文件的位置。 执行命令:[root@master hadoop]# vi core-site.xml(在底部Configuration标签内添加以下Configuration标签内的 内容,其他文件也是

 <configuration>    

<property>    

<name>fs.defaultFS</name>        

<value>hdfs://master:8020</value>        

</property>      

<property>      

<name>hadoop.tmp.dir</name>      

<value>/var/log/hadoop/tmp</value>    

</property> </configuration>

hadoop3 停止 hadoop退出不保存命令_IP_52

 (2)修改 hadoop-env.sh文件。该文件是 hadoop运行基本环境的配置,需要修改为JDK的实际位置,也就是在该文件中修改 JAVA HOME值为本机安装位置。

执行命令: vi hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_80

hadoop3 停止 hadoop退出不保存命令_CentOS_53

 (3)修改hdfs-site.xml文件。这个是HDFS相关的配置文件,dfs.namenode.name.dir和dfs.datanode.data.dir分别指定了NameNode元数据和DataNode数据存储位置。dfs.namenode.secondary.http-address配置的是secondary.namenode的地址;dfs.replication配置了文件块的副本个数。 执行命令:vi hdfs-site.xml

<property>    

<name>dfs.namenode.name.dir</name>    

<value>file:///data/hadoop/hdfs/name</value>

</property>

<property>    

<name>dfs.datanode.data.dir</name>    

<value>file:///data/hadoop/hdfs/data</value>

</property>

<property>      

<name>dfs.namenode.secondary.http-address</name>      

<value>master:50090</value>

</property>

<property>      

<name>dfs.replication</name>    

 <value>3</value>

</property>

(3)修改hdfs-site.xml文件。这个是HDFS相关的配置文件,dfs.namenode.name.dir和dfs.datanode.data.dir分别指定了NameNode元数据和DataNode数据存储位置。dfs.namenode.secondary.http-address配置的是secondary.namenode的地址;dfs.replication配置了文件块的副本个数。

hadoop3 停止 hadoop退出不保存命令_hadoop_54

 (4)修改mapred-env.sh文件。该文件是关于MapReduce运行环境的配置,同样修改JDK所在位置,也就是在该文件中修改 JAVA HOME值为本机安装位置。

执行命令:vi mapred-env.sh

# export JAVA_HOME=/home/y/libexec/jdk1.6.0/

export JAVA_HOME=/usr/java/jdk1.7.0_80

hadoop3 停止 hadoop退出不保存命令_CentOS_55

(5)修改mapred-site.xml文件。该文件是关于MapReduce的相关配置。 mapred-site.xml文件是复制mapred-site.xml.template文件得到的,复制命令为 cp mapred-site.xml.template mapred-site.xml 执行命令:vi mapred-site.xml 在hadoop2.0使用了YARN框架,MapReduce的运行是在YARN框架的基础上,所以必须在 ①mapreduce.framework.name下配置的。 ②mapreduce.jobhistory.address(任务日志服务地址),在主节点的10020端口 ③mapreduce.jobhistory.webapp.address(任务日志服务地址),在主节点的19888端口

<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<!-- jobhistory properties -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
</property>
<property>
     <name>mapreduce.jobhistory.webapp.address</name>
     <value>master:19888</value>
</property>
</configuration>

(6)修改slaves文件。该文件里面保存有slave节点的信息。 执行命令: vi  slaves

        在salves文件里面添加代码。 slave1 slave2 slave3

(7)修改yarn-env.sh文件。该文件是YARN框架运行环境的配置,同样需要修改为JDK所在位置,也就是在该文件中修改 JAVA HOME值为本机安装位置。 执行命令:vi yarn-env.sh

# export JAVA_HOME=/home/y/libexec/jdk1.6.0/

export JAVA_HOME=/usr/java/jdk1.7.0_80

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_56

 (8)修改yarn-site.xml文件。该文件是YARN框架的配置。执行命令:vi yarn-site.xml

<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
  </property>    
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>${yarn.resourcemanager.hostname}:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>${yarn.resourcemanager.hostname}:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>${yarn.resourcemanager.hostname}:8088</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.https.address</name>
    <value>${yarn.resourcemanager.hostname}:8090</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>${yarn.resourcemanager.hostname}:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>${yarn.resourcemanager.hostname}:8033</value>
  </property>
  <property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/data/hadoop/yarn/local</value>
  </property>
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
  <property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/data/tmp/logs</value>
  </property>
<property> 
 <name>yarn.log.server.url</name> 
 <value>http://master:19888/jobhistory/logs/</value>
 <description>URL for job history server</description>
</property>
<property>
   <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
  </property>
 <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
      <value>org.apache.hadoop.mapred.ShuffleHandler</value>
      </property>
<property>  
        <name>yarn.nodemanager.resource.memory-mb</name>  
        <value>2048</value>  
 </property>  
 <property>  
        <name>yarn.scheduler.minimum-allocation-mb</name>  
        <value>512</value>  
 </property>   
 <property>  
        <name>yarn.scheduler.maximum-allocation-mb</name>  
        <value>4096</value>  
 </property> 
 <property> 
    <name>mapreduce.map.memory.mb</name> 
    <value>2048</value> 
 </property> 
 <property> 
    <name>mapreduce.reduce.memory.mb</name> 
    <value>2048</value> 
 </property> 
 <property> 
    <name>yarn.nodemanager.resource.cpu-vcores</name> 
    <value>1</value> 
 </property>
</configuration>

9)编辑系统文件。在最下面把 JAVA_HOME和HADOOP_HOME的路径加进去。 执行命令:vi /etc/profile 添加以下内容

export JAVA_HOME=/usr/java/jdk1.7.0_80

export HADOOP_HOME=/usr/local/hadoop-2.6.4 export PATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin (路径之间用冒号分割)

(10)最后通过 source 命令对相关的配置生效  

执行命令:source /etc/profile

hadoop3 停止 hadoop退出不保存命令_CentOS_57

2.3.2 克隆虚拟机 在虚拟机master上配置完成hadoop之后,将虚拟机master克隆,生成3个新的虚拟机slave1、slave2、slave3。在虚拟机master的安装目录下建立3个文件slave1、slave2、slave3。   下面克隆master,生成slave1为例。 (1)将master处于关机状态。右键单击虚拟机master,选择“管理”——“克隆”命令,来到欢迎使用克隆虚拟机向导的界面,直接单击“下一步”按钮。

 

hadoop3 停止 hadoop退出不保存命令_hadoop_58

2)选择克隆源。这里选择“虚拟机中的当前状态”按钮。

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_59

 (3)选择创建完整克隆

 

hadoop3 停止 hadoop退出不保存命令_CentOS_60

(4)设置新虚拟机的名称。新虚拟机名称为slave1,选择安装位置为之前建好的位置,单击完成按钮,虚拟机开始克隆。

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_61

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_62

hadoop3 停止 hadoop退出不保存命令_hadoop_63

 

 

 

(5)开启虚拟机slave1,修改相关配置。进入slave1的用户名和密码,和master一样。 ①执行命令:rm -rf  /etc/udev/rules.d/70-persistent-net.rules  删除 /etc/udev/rules.d/70-persistent-net.rules  文件。 ②执行命令:“ifconfig  -a”,查看 HWADDR,记录下新虚拟机的 HWADDR 为 00:0C:29:76:05:5E

 

hadoop3 停止 hadoop退出不保存命令_IP_64

③修改 /etc/sysconfig/network-scripts/ifcfg-eth0,修改设备名(eth0)、HWADDR、IPADDR以及注释掉或删除UUID开头的一行代码。 执行命令:vi  /etc/sysconfig/network-scripts/ifcfg-eth0

hadoop3 停止 hadoop退出不保存命令_CentOS_65

hadoop3 停止 hadoop退出不保存命令_CentOS_66

hadoop3 停止 hadoop退出不保存命令_IP_67

 ④修改机器名。 执行命令: vim  /etc/sysconfig/network 修改机器名为 slave1.centos.com

hadoop3 停止 hadoop退出不保存命令_CentOS_68

hadoop3 停止 hadoop退出不保存命令_hadoop_69

⑤重启虚拟机。 执行命令:reboot

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_70

 (6)重复(1)-(5)的相关步骤,克隆master到slave2、slave3,并修改slave2、slave3的相关配置

配置SSH免密码登录

 插播  修改ip与hostname映射,在节点(master、slave1、slave2、slave3)修改 vi  /etc/hosts文件。 执行命令   vi  /etc/hosts

192.168.128.130  master  master.centos.com

192.168.128.131  slave1  slave1.centos.com

192.168.128.132  slave2  slave2.centos.com

92.168.128.133  slave3  slave3.centos.com

hadoop3 停止 hadoop退出不保存命令_hadoop_71

 过程:

(1)使用ssh-keygen 产生公钥与私钥对。 输入命令 “ssh-keygen  -t rsa”,接着按3次“Enter”键,如图所示,生成私有密钥 id_rsa 和公有密钥 id_rsa.pub 两个文件。ssh-keygen用来生成RSA类型的密钥以及管理该密钥,参数 “-t”用于指定要创建的SSH密钥的类型为RSA。

 

 

hadoop3 停止 hadoop退出不保存命令_CentOS_72

 

 (1)使用ssh-keygen 产生公钥与私钥对。 通过 cd /root/.ssh/ 查看私有密钥和公有密钥文件。

hadoop3 停止 hadoop退出不保存命令_CentOS_73

(2)用ssh-copy-id 将公钥复制到远程机器中。执行下边命令  将公钥复制到远程机器中的命令 ssh-copy-id  -i  /root/.ssh/id_rsa.pub  master  //依次输入 yes ,123456(root用户的密码)

ssh-copy-id  -i  /root/.ssh/id_rsa.pub  slave1

ssh-copy-id  -i  /root/.ssh/id_rsa.pub  slave2

ssh-copy-id  -i  /root/.ssh/id_rsa.pub  slave3

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_74

 (2)用ssh-copy-id 将公钥复制到远程机器中。

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_75

(3)验证SSH是否能够无密钥登录。 在master下分别输入ssh slave1、ssh slave2、ssh slave3,如图所示,说明配置SSH免密码登录成功。

 

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_76

2.3.4配置NTP时间同步服务

背景:NTP是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源做同步化,提供高精准度的时间校正。hadoop集群对时间要求很高,主节点与各从节点的时间都必须要同步。配置时间同步服务主要是为了进行集群间的时间同步.

(1)安装NTP服务。      在任务2.1的时候已经配置了yum源,可以直接使用yum来安装NTP服务,在各节点执行命令 yum install -y ntp即可。若是最终出现了“Complete”信息,就说明安装NTP服务成功。

执行操作: 首先:先去挂载 yum 源,通过 mount  /dev/dvd   /media/

 

hadoop3 停止 hadoop退出不保存命令_CentOS_77

 其次:通过 yum  install  -y  ntp  安装ntp

 

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_78

然后:去各个子节点上(slave1、slave2、slave3)分别 挂载 yum 源,安装ntp

执行:  mount  /dev/dvd   /media/         yum  install -y  ntp

hadoop3 停止 hadoop退出不保存命令_hadoop_79

hadoop3 停止 hadoop退出不保存命令_CentOS_80

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_81

 (2)设置master节点为NTP服务主节点,那么其配置如下。 使用命令 “vim  /etc/ntp.conf”来打开 /etc/ntp.conf文件,注释掉以server开头的行,并添加代码

restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

server 127.127.1.0

fudge 127.127.1.0  stratum  10

 

hadoop3 停止 hadoop退出不保存命令_hadoop_82

hadoop3 停止 hadoop退出不保存命令_hadoop_83

 

 (3)分别在slave1、slave2、slave3中配置NTP,同样修改/etc/ntp.conf 文件,注释掉server开头的行,并添加代码

server master

执行操作:vim  /etc/ntp.conf

hadoop3 停止 hadoop退出不保存命令_hadoop_84

hadoop3 停止 hadoop退出不保存命令_CentOS_85

(4)执行命令“service iptables stop & chkconfig iptables off”,永久性关闭防火墙,主节点和从节点(master、slave1、slave2、slave3)都要关闭。

 

hadoop3 停止 hadoop退出不保存命令_IP_86

 (5)启动NTP服务。

①在master节点执行命令“service ntpd start & chkconfig ntpd on”,如图所示,说明NTP服务启动成功。

 

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_87

  ②在slave1、slave2、slave3上执行命令“ntpdate master”,即可同步时间,如图所示

hadoop3 停止 hadoop退出不保存命令_CentOS_88

hadoop3 停止 hadoop退出不保存命令_IP_89

③在slave1、slave2、slave3上分别执行“service ntpd start & chkconfig ntpd on”即可永久启动NTP服务,如图所示

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_90

2.3.5 启动关闭集群之前--格式化

 背景:做完Hadoop的所有配置后,即可执行格式化NameNode操作,该操作会在NameNode所在机器初始化一些HDFS的相关配置,并且该操作在集群搭建过程中只需执行一次,执行格式化之前可以先配置环境变量。

过程:

配置环境变量是在master、slave1、slave2、slave3上修改 /etc/profile 文件,在文件末尾添加代码 如下所示内容,文件修改完保存退出。

执行命令:  vi  /etc/profile  source  /etc/profile  来使配置生效 export JAVA_HOME=/usr/java/jdk1.7.0_80

export HADOOP_HOME=/usr/local/hadoop-2.6.4

export PATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin

 

hadoop3 停止 hadoop退出不保存命令_CentOS_91

  配置环境变量是在master、slave1、slave2、slave3上修改 /etc/profile 文件,在文件末尾添加代码 如下所示内容,文件修改完保存退出。

 

hadoop3 停止 hadoop退出不保存命令_hadoop_92

格式化执行命令:hdfs  namenode  -format 若出现  common storage        ,则格式化成功。如图。

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_93

格式化执行命令:hdfs namenode -format 若出现 以下图,代表失败

hadoop3 停止 hadoop退出不保存命令_hadoop_94

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_95

2.3.5 Hadoop启动

 启动集群命令

启动集群只需要在master节点直接进入hadoop安装目录

cd   $HADOOP_HOME                                              // 进入Hadoop安装目录      

       /usr/local/hadoop-2.6.4

hadoop3 停止 hadoop退出不保存命令_CentOS_96

sbin/start-dfs.sh                                                         //启动HDFS相关服务

hadoop3 停止 hadoop退出不保存命令_hadoop_97

 

sbin/start-yarn.sh                                                      //启动YARN相关服务

hadoop3 停止 hadoop退出不保存命令_CentOS_98

 

sbin/mr-jobhistory-daemon.sh start historyserver     //启动日志相关服务

hadoop3 停止 hadoop退出不保存命令_hadoop_99

启动集群

cd   $HADOOP_HOME // 进入Hadoop安装目录

 

hadoop3 停止 hadoop退出不保存命令_CentOS_100

启动集群命令 

集群启动之后,在主节点master,子节点slave1、slave2、slave3分别执行“jps”命令,说明集群启动成功。

 关闭集群命令

 关闭集群也只需要在master节点直接进入hadoop安装目录

cd   $HADOOP_HOME // 进入Hadoop安装目录

sbin/stop-yarn.sh //关闭YARN相关服务

sbin/stop-dfs.sh  //关闭HDFS相关服务

sbin/mr-jobhistory-daemon.sh stop historyserver     //关闭日志相关服务

关闭集群

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_101

 2.3.5 Hadoop关闭

sbin/stop-yarn.sh  //关闭YARN相关服务

hadoop3 停止 hadoop退出不保存命令_CentOS_102

 sbin/stop-dfs.sh  //关闭HDFS相关服务

hadoop3 停止 hadoop退出不保存命令_CentOS_103

 sbin/mr-jobhistory-daemon.sh stop historyserver     //关闭日志相关服务

hadoop3 停止 hadoop退出不保存命令_IP_104

 2.3.6Hadoop 监控—任务监控

hadoop3 停止 hadoop退出不保存命令_IP_105

 为了能够顺利在浏览器打开Hadoop集群相关服务的监控界面,需要修改本地hosts文件。本地的hosts文件可在 C:\Windows\System32\drivers\etc下找到,之后再文件末尾添加如下代码。 192.168.128.130  master  master.centos.com

192.168.128.131  slave1  slave1.centos.com

192.168.128.132  slave2  slave2.centos.com

192.168.128.133  slave3  slave3.centos.com

查看网址

 http://master:50070  

http://master:50070/dfshealth.jsp

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_106

Hadoop集群—问题

1.集群节点相关服务没有启动?

 1.检查对应机器防火墙状态;

2. 检查对应机器的时间是否与主节点同步

 2.集群状态不一致,clusterID不一致

 1.删除dfs.namenode.name/data.dir配置的目录;

2./data/hadoop/hdfs/name (maser)
3./data/hadoop/hdfs/data (slave1、slave2、slave3)
4.cd /data/hadoop/

5.重新执行hadoop格式化;

hadoop3 停止 hadoop退出不保存命令_hadoop3 停止_107