ResourceManager HA

架构图解析

架构图.png

ResourceManager会在内存中存放各个nodeManager节点资源信息、任务运行状态信息。通过ZooKeeper集群,配置一个activeRM和standbyRM。activeRM把状态这些状态信息写入到zookeeper集群中。
如果ActiveRM被关闭,故障转移,StandbyRM直接从zookeeper去读取状态。

ResourceManager HA 配置部署(在搭建完zookeeper集群后)

  1. 配置文件
    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>
  1. 启动各个节点的服务,最后相关后台进程如下


    节点0.png

    节点1.png

    节点2.png
  2. 运行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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容