【Hadoop环境搭建】八.Hadoop集群模式部署

前面介绍的伪分布式是基于单个节点,而完全分布式是基于两个或两个以上节点完成Hadoop集群搭建。
下面基于三个节点完成。
【Hadoop环境搭建】八.Hadoop集群模式部署_第1张图片

整个虚拟机的部署情况:

(1)HDFS的服务进程主要有三个:namenode,datanode,secondarynamenode
1)我们以第一台机器作为分布式存储的主节点,也就是namenode所在的节点
2)然后真正存储数据的datanode分布在三台机器中
3)secondarynamenode是namenode的一个备份放在第三台机器上
(2)关于并行计算的mapreduce进程:
1)resourcemanager是mapreduce的主节点,放在第二台机器中
2)其余的nodemanager分布在三台机器中
3)historyserver主要用于查看并行计算里面的一些日志,运行状况,放在第一台虚拟机中
由于用集群模式的话可能有些电脑会带不动,因此后面的课程我们还是采用伪分布式模式。

8.1 主节点部署

8.1.1 重新解压
进入app目录下,重新解压一个hadoop文件到其他文件夹,为了与之前的hadoop伪分布式模式区分,我们给他重命名为hadoop-2.5.0并修改文件位置

tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz -C /usr/software/
mv hadoop-2.5.0-cdh5.3.6 ~/app/hadoop-2.5.0

在这里插入图片描述
我们就以hadoop-2.5.0作为集群进行配置
8.1.2 修改配置文件
进入hadoop-2.5.0/etc/hadoop目录下修改一下几个配置文件
在这里插入图片描述
(1)配置hadoop-env.sh
vi hadoop-env.sh,修改 JAVA_HOME 为之前那个参数(之前已经设置过)
在这里插入图片描述
(2)配置core-site.xml
vi core-site.xml,在configuration中添加各配置项
【Hadoop环境搭建】八.Hadoop集群模式部署_第2张图片
临时文件目录地址还是和以前一样在hadoop-2.5.0中新建一个data/tmp目录
【Hadoop环境搭建】八.Hadoop集群模式部署_第3张图片
(3)配置 hdfs-site.xml

vi hdfs-site.xml

在这里插入图片描述
(4)配置 mapred-site.xml
mv mapred-site.xml.template mapred-site.xml,将mapred-site.xml.template重命名为mapred-site.xml

vi mapred-site.xml

【Hadoop环境搭建】八.Hadoop集群模式部署_第4张图片
(5)配置 yarn-site.xml
vi yarn-site.xml,要配置的参数有4个:
1)指定yarn集群中的老大(就是本机)
2)配置yarn集群中的重节点,指定map产生的中间结果传递给reduce采用的机制是shuffle。
3)日志聚合
4)日志删除的保留时间
【Hadoop环境搭建】八.Hadoop集群模式部署_第5张图片
(6)配置slaves
vi slaves,把三台虚拟机的主机名写进去
【Hadoop环境搭建】八.Hadoop集群模式部署_第6张图片

8.2 集群节点分发与启动

8.2.1 修改/etc/profile文件

vi /etc/profile

因为我们现在的需求是既想保留住Hadoop伪分布式,又想搭建Hadoop集群环境,这就导致了一个问题,如果系统变量配置的是伪分布式的环境,每次启动Hadoop的时候就会启动伪分布式;如果配置的是集群环境,每次启动Hadoop就会启动集群模式。为了解决这个问题,我们把/etc/profile中Hadoop环境变量注释掉,想起启动Hadoop的时候直接到各自的sbin目录下启动即可。
【Hadoop环境搭建】八.Hadoop集群模式部署_第7张图片
source /etc/profile,立即执行这个文件

//同步到其他虚拟机
scp /r /etc/profile root@hadoop2:~/app  
scp /r /etc/profile root@hadoop3:~/app

然后在虚拟机2和3上使用source /etc/profile命令使其生效
同时将hadoop-2.5.0发送到其他两台虚拟机

scp /r ~/app/hadoop-2.5.0 root@hadoop2:~/app
scp /r ~/app/hadoop-2.5.0 root@hadoop3:~/app

可以看出在其他虚拟机中有hadoop-2.5.0
在这里插入图片描述
8.2.2 格式化
输入bin/hdfs可以看到有格式化文件
【Hadoop环境搭建】八.Hadoop集群模式部署_第8张图片
bin/hdfs namenode -format,格式化
【Hadoop环境搭建】八.Hadoop集群模式部署_第9张图片
出现以上信息则表示格式化成功
8.2.3 启动
(1)在第一台机器上输入sbin/start-dfs.sh
在这里插入图片描述
可见datanode并没有启动
解决方案:
首先关闭dfs启动进程,sbin/stop-dfs.sh
然后在三台虚拟机中清空data和logs目录
进入data目录,rm -rf *
进入logs目录,rm -rf *
【Hadoop环境搭建】八.Hadoop集群模式部署_第10张图片
之后在进行格式化和启动命令即可。
【Hadoop环境搭建】八.Hadoop集群模式部署_第11张图片
在第二台机器上使用jps命令可以看出只有一个datanode,同理第三台有一个datanodesecondarynamenode
在这里插入图片描述
(2)在第二台机器上输入sbin/start-yarn.sh
然后可以看出在第二台机器上多了NodeManagerResourceManager,第一台机器和第三台机器上多了NodeManager
(3)在第一台机器上输入sbin/mr-jobhistory-daemon.sh start historyserver
然后可以看出在第一台机器上多了JobHistoryServer
最后分别在三台虚拟机上使用jps命令,可见与最初的部署情况相符合,集群环境搭建成功
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

你可能感兴趣的:(Hadoop环境搭建,hadoop,大数据)