hadoop搭建全分布式集群-虚拟机

时间:2021-06-09 06:08:46

hadoop搭建全分布式集群-虚拟机

一、本次搭建环境说明

VMware Fusion
master:ubuntu16.04 64位 ip:172.16.29.11
slave1:ubuntu16.04 64位 ip:172.16.29.12
slave1:ubuntu16.04 64位 ip:172.16.29.13
jdk9.0.4
hadoop2.8.1

二、jdk、hadoop安装部署

参见上篇博文:http://blog.csdn.net/apple9005/article/details/79579771
主机hadoop按上篇博文配置完成后,直接将hadoop文件夹打包发送至各从机,主从使用同一套配置。

分析:
dfs.nameservices:在一个全分布式集群大众集群当中这个的value要相同
dfs.replication:因为hadoop是具有可靠性的,它会备份多个文本,这里value就是指备份的数量(小于等于从节点的数量)
一个问题:
dfs.datanode.data.dir:当使用的这个的时候从节点起不来。当改成fs.datanode.data.dir就有用了。

三、修改各机的hostname和hosts文件

1.修改hostname

> vi /etc/hostname

把master机的hostname文件内容修改为:

hadoop11

把slave1机的hostname文件内容修改为hadoop12
把slave2机的hostname文件内容修改为hadoop13

2.修改hosts

> vi /etc/hosts

在master、slave1、slave2机的hosts文件中添加以下内容:

172.16.29.11    hadoop11
172.16.29.12    hadoop12
172.16.29.13    hadoop13

四、SSH免密登录设置

此步操作是为第六步服务

在master机创建密钥文件:

> ssh-keygen -t rsa

将公钥拷贝到其它机器上,实现免密码登录

> ssh-copy-id hadoop11  # master本机也要免密登录
> ssh-copy-id hadoop12  # slave1
> ssh-copy-id hadoop13  # slave2

五、全分布式集群搭建测试

HDFS集群的启动/关闭命令:

hadoop-daemon.sh start/stop namenode  # 名字节点(在master执行)
hadoop-daemon.sh start/stop secondarynamenode  # 第二名字节点(在master执行)
hadoop-daemon.sh start/stop datanode  # 数据节点(在slave1、slave2执行)

YARN集群的启动/关闭命令:

yarn-daemon.sh start/stop resourcemanager  # 资源管理器(在master执行)
yarn-daemon.sh start/stop nodemanager  # 节点管理器(在slave1、slave2执行)

MR作业日志服务器的启动/关闭命令:

mr-jobhistory-daemon.sh start/stop historyserver  #(在master执行)

名字节点、资源管理器:这是在主节点中启动或关闭的。
数据节点、节点管理器:这是在从节点中启动或关闭的。
MR作业日志管理器:这是在主节点中启动或关闭的。

执行以上命令后,可在各机执行jps查看各服务启动情况。
监控平台:
HDFS集群:
http://172.16.29.11:50070
YARN集群:
http://172.16.29.11:8088
MR作业日志服务器:
http://172.16.29.11:19888
hadoop搭建全分布式集群-虚拟机
hadoop搭建全分布式集群-虚拟机
hadoop搭建全分布式集群-虚拟机

六、Hadoop全分布式集群配置免密登录实现主节点控制从节点

在master机配置slaves:

> vi  /opt/hadoop/etc/hadoop/slaves

删掉slaves中原有的内容,然后配置上所有从节点的主机名:

hadoop12
hadoop13

注意:
这样配置的前提是主节点要能免密登录到从节点中;
当你去执行start-dfs.sh时,它会去slaves文件中去找从节点(这就是配置免密登录的原因);
然后去启动从节点。同时自己也需要做免密登录也就是说要自己对自己做免密登录。

配置这个是为了实现主节点管理(开启和关闭)从节点的功能:
启动/关闭HDFS集群:

start-dfs.sh/stop-dfs.sh

启动/关闭YARN集群:

start-yarn.sh/stop-yarn.sh

我们只需要在主节点中使用start-dfs.sh/stop-dfs.sh就能开启或关闭namenode和所有的datanode,使用start-yarn.sh/stop-yarn.sh就能开启或关闭resourcemanager和所有的nodemanager。

参考博文:
https://www.linuxidc.com/Linux/2017-03/142051.htm
http://www.cnblogs.com/zhangyinhua/p/7652686.html