Hadoop集群的搭建及配置

Posted 陌白网客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop集群的搭建及配置相关的知识,希望对你有一定的参考价值。

本文章对虚拟机的安装配置、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安装

解压 双击vmware.exe,选择安装目录 输入产品序列号

2.1.1 创建Linux虚拟机

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

 

 

 

 

 

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

 

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

 

 2.1.1 安装操作系统

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

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

Rescue installed system 进入系统修复模式

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

Memory test   内存检测

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

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

 

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

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

 

 

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

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

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

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

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

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

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

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

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

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

 设置固定IP

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

查看IP

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

新建虚拟机后配置固定IP

1重启服务 service network restart

 

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”键,进入编辑状态

 

 

 然后我们按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

新建

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

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

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

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

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

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

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

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

现在你在这个窗口所做的操作,就等同在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

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

 

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

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

 

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

 

 配置本地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目录下

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

总结方法 

安装软件:执行 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

 

 过程:

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文件夹下的信息

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

 

 

 修改配置文件

(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>

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

执行命令: vi hadoop-env.sh

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

 (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配置了文件块的副本个数。

 (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

(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

 (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

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

 

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

 (3)选择创建完整克隆

 

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

 

 

 

(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

 

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

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

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

 (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

 过程:

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

 

 

 

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

(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

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

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

 

2.3.4配置NTP时间同步服务

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

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

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

 

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

 

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

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

 (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

 

 

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

server master

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

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

 

 (5)启动NTP服务。

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

 

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

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

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

 

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

 

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

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

2.3.5 Hadoop启动

 启动集群命令

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

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

       /usr/local/hadoop-2.6.4

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

 

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

 

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

启动集群

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

 

启动集群命令 

集群启动之后,在主节点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     //关闭日志相关服务

关闭集群

 2.3.5 Hadoop关闭

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

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

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

 2.3.6Hadoop 监控—任务监控

 为了能够顺利在浏览器打开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

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格式化;

 

以上是关于Hadoop集群的搭建及配置的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop集群配置

Hadoop集群高可用及zookeeper+kafka组件搭建

Hadoop3集群搭建之——hive添加自定义函数UDTF

Hbase集群搭建及所有配置调优参数整理及API代码运行

华为云Hadoop与Spark集群环境搭建

Hadoop集群配置及启动