Yarn-RM-HA配置文件添加

    下面说明是基于之前基本环境(yarn)已经基本完成搭建后继续学习

高可用性功能以Active / Standby ResourceManager对的形式添加冗余,以消除此单点故障。

     ZooKeepr能够为我们保证最终只有一个ResourceManager能够创建成功。创建成功的那个ResourceManager就切换为Active状态,没有成功的那些ResourceManager则切换为Standby状态

结构

RM故障转移

ResourceManager HA通过主动/备用架构实现 - 在任何时间点,只有一个RM处于活动状态,并且一个或多个RM处于备用模式,等待接管活动状态。在启用自动故障切换时,支持从管理命令(通过CLI)或通过集成故障切换控制器进行触发。

Yarn-HA配置文件添加
yarn-site.xml 配置文件添加如下内容,前提是之前的一些参数已经配置好了

1.    新添加HA内容
先在主节点进行修改,然后分发到其他所有yarn节点。
<property>
  <name>yarn.resourcemanager.ha.enabled</name>
  <value>true</value>
 </property>
<property>
  <name>yarn.resourcemanager.cluster-id</name>
  <value>cluster1</value>
</property>
<!--  List of logical IDs for the RMs. e.g., “rm1,rm2”.-->
<property>
  <name>yarn.resourcemanager.ha.rm-ids</name>
  <value>rm1,rm2</value>
</property>
<!-- For each rm-id, specify the hostname the RM corresponds to. Alternately, one could set each of the RM’s service addresses..-->
<property>
  <name>yarn.resourcemanager.hostname.rm1</name>
  <value>node102</value>
</property>
<property>
  <name>yarn.resourcemanager.hostname.rm2</name>
  <value>node103</value>
</property>
<!--  For each rm-id, specify host:port of the RM web application corresponds to. You do not need this if you set yarn.http.policy to HTTPS_ONLY. If set, overrides the hostname set in yarn.resourcemanager.hostname.rm-id.-->
<property>
  <name>yarn.resourcemanager.webapp.address.rm1</name>
  <value>node102:8088</value>
</property>
<property>
  <name>yarn.resourcemanager.webapp.address.rm2</name>
  <value>node103:8088</value>
</property>
<property>
<name>yarn.resourcemanager.recovery.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.store.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>

<property>
<name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.ha.automatic-failover.embedded</name>
<value>true</value>
</property>
<property>
  <name>yarn.resourcemanager.zk-address</name>
  <value>node102:2181,node103:2181,node104:2181</value>
</property>

配置参数的简单解释:

yarn.resourcemanager.ha.enabled : 启用 RM HA

yarn.resourcemanager.cluster-id : 标识集群中的RM

yarn.resourcemanager.ha.rm-ids : RM 逻辑IDs的名称

yarn.resourcemanager.hostname.rm1:  对于每个rm-id,指定RM对应的主机名。或者,可以设置RM的每个服务地址。
yarn.resourcemanager.webapp.address.rm1: 对于每个rm-id,指定RM Web应用程序对应的主机:端口

yarn.resourcemanager.recovery.enabled: 启用RM重启的功能。RM重启,作业保留机制 job不会失败。设置为true则必须配置yarn.resourcemanager.store.class

yarn.resourcemanager.store.class : 有三种StateStore,分别是基于zookeeper, HDFS, leveldb, HA高可用集群必须用ZKRMStateStore 

yarn.resourcemanager.ha.automatic-failover.enabled : 自动故障转移。默认情况下,在启用 HA 时,启用自动故障转移 

yarn.resourcemanager.ha.automatic-failover.embedded : 自动故障转移时是否使用内嵌的Leader选举策略选举 Active RM。缺省情况下,它只会在启用HA配置的情况下生效。

yarn.resourcemanager.zk-address : zookeeper 节点

启动服务

把yarn-site.xml发送覆盖到其他yarn节点

在主节点node102启动yarn

./sbin/start-yarn.sh

再从node103启动resourcemanager服务

./sbin/yarn-daemon.sh start resourcemanager

查看服务启动 jps

node102和node103都会有resourcemanager进程和Nodemanager进程

检查主从状态

./bin/yarn rmadmin -getServiceState rm1

./bin/yarn rmadmin -getServiceState rm2

 

 主动切换状态

  ./bin/yarn rmadmin -transitionToActive --forcemanual rm1

测试

可以跑一个pi进程 100 1000

在测试过程中,认为kill active的resourcemanager,查看最终运行进程正常完成

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值