ResourceManager HA
2016-10-21 本文已影响189人
心_的方向
架构图解析
架构图.pngResourceManager会在内存中存放各个nodeManager节点资源信息、任务运行状态信息。通过ZooKeeper集群,配置一个activeRM和standbyRM。activeRM把状态这些状态信息写入到zookeeper集群中。
如果ActiveRM被关闭,故障转移,StandbyRM直接从zookeeper去读取状态。
ResourceManager HA 配置部署(在搭建完zookeeper集群后)
- 配置文件
core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/app/hadoop-2.5.0/data/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata-00:8020</value>
</property>
yarn-site.xml
<!-- 指定RM HA可用 -->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!-- 设置集群ID-->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yarn-cluster</value>
</property>
<!-- 给集群ID下的节点设置名称-->
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!-- 指定具体的RM节点-->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>bigdata-01</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>bigdata-02</value>
</property>
<!-- 指定zookeeper集群节点和端口-->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>bigdata-00:2181,bigdata-01:2181,bigdata-02:2181</value>
</property>
<!-- 在RM节点接管后,任务状态可以恢复-->
<property>
<name>yarn.resourcemanager.recovery.enabled</name>
<value>true</value>
</property>
<!-- 设置存储yarn中状态信息的地方,默认为hdfs,这里设置为zookeeper-->
<property>
<name>yarn.resourcemanager.store.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
<!-- 使在yarn上能够运行mapreduce_shuffle程序-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
-
启动各个节点的服务,最后相关后台进程如下
节点0.png
节点1.png
节点2.png -
运行wordcount程序测试RM HA。
- 在namenode节点上运行MR程序
[wulei@bigdata-00 hadoop-2.5.0]$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /test/ /test/out
- 在运行到map端时,关闭节点bigdata-01的RM进程
[wulei@bigdata-01 hadoop-2.5.0]$ jps
8214 DataNode
8569 NodeManager
5195 QuorumPeerMain
8316 ResourceManager
8669 Jps
[wulei@bigdata-01 hadoop-2.5.0]$ kill -9 8316
-
查看bigdata-02节点的resoucemanager的web管理界面。可以发现,mapreduce程序仍然可以继续运行至结束。
yarn1.png
yarn5.png