上篇文章记录了如何搭建hadoop 2.X版本的高可用集群,这篇博客基于上一篇博客的基础上搭建 MapReduce V2高可用集群,如果没有搭建hadoop高可用集群的,参考搭建高可用hadoop集群
1、前提配置
我使用四台虚拟机,demo001,demo002,demo003,demo004,这四台虚拟机之间的关系在上一篇中已经写了,我这里记录一下上篇博客没写的,将demo003,demo004相互之间免密登陆,先进入目录 /root/.ssh。
- 在demo003上:
ssh-keygen -t dsa -P ‘’ -f ./id_dsa
cat ~id_dsa.pub >> authorized_keys
scp id_dsa.pub root@demo004:`pwd`/demo003.pub
- 在demo004上:
cat demo003.pub >> authorized_keys
ssh-keygen -t dsa -P ‘’ -f ./id_dsa
cat ~id_dsa.pub >> authorized_keys
scp id_dsa.pub root@demo003:`pwd`/demo004.pub
- 在demo003上
cat demo004.pub >> authorized_keys
2、配置hadoop文件下的 mapred-site.xml、 yarn-site.xml
- 修改mapred-site.xml,如果进入hadoop安装文件下etc/hadoop中,发现没有mapred-site.xml,有的是mapred-site.xml.template,先将 mapred-site.xml.template改为mapred-site.xml。
执行命令
mv mapred-site.xml.template mapred-site.xml
打开这个文件,添加一下内容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- 修改 yarn-site.xml,打开yarn-site.xml文件,添加一下内容
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster1</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>demo003</value> # 指定有那个服务器担当 ResourceManager 角色,我这指定demo003
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>demo004</value> # 我这指定demo003
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>demo002:2181,demo003:2181,demo004:2181</value> # 指定哪些服务器开启zookeeper
</property>
3、分发mapred-site.xml、 yarn-site.xml到其他三个节点
我这里配置的是demo001的节点,配置那个都行,只要保持四个节点的文件一直即可。
分发的命令
scp mapred-site.xml yarn-site.xml demo002:`pwd`
scp mapred-site.xml yarn-site.xml demo003:`pwd`
scp mapred-site.xml yarn-site.xml demo004:`pwd`
4、启动集群
- 1、先启动 zookeeper,执行命令 zkServer.sh start
- 2、在主节点上启动 hadoop集群,start-dfs.sh
- 3、在主节点上启动 YARN ,start-yarn.sh
- 4、在demo003,demo004节点上启动:yarn-daemon.sh start resourcemanager
访问
在浏览中输入:demo001:50070,测试hadoop启动是否成功,如果出现下图表示成功。
输入demo003:8088,如果出现下图,表示成功。
5、停止
停止集群时,执行这几行命令就ok了。
demo001: stop-dfs.sh
demo001: stop-yarn.sh (停止nodemanager)
demo003,demo004: yarn-daemon.sh stop resourcemanager (停止resourcemanager)
demo002,demo003,demo004:关闭zookeeper,zkServer.sh stop