YARN ResourceManager重启作业保留机制

1. 前置

YARN可以通过相关配置支持ResourceManager重启过程中,不影响正在运行的作业,即重启后,作业还能正常继续运行直到结束。

参见详细文档ResourceManagerRestart

涉及配置如下:

keyvalue备注
yarn.resourcemanager.recovery.enabledtrue
yarn.resourcemanager.store.classorg.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore有三种StateStore,分别是基于zookeeper, HDFS, leveldb, HA高可用集群必须用ZKRMStateStore
yarn.resourcemanager.work-preserving-recovery.scheduling-wait-ms10000默认10000,用默认值即可

备注:

  • 开启了Recovery后,ResourceManger会将应用的状态等信息保存到yarn.resourcemanager.store.class配置的存储介质中,重启后会load这些信息,并且NodeManger会将还在运行的container信息同步到ResourceManager,整个过程不影响作业的正常运行。
  • yarn.resourcemanager.store.class支持三种存储介质的配置(HA集群只支持ZKRMStateStore),选择不同的介质,还需要增加相关配置,详见ResourceManagerRestart
存储yarn.resourcemanager.store.class
ZooKeeperorg.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
FileSystemorg.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore
LevelDBorg.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore

2. 测试

下面以HA集群跑Hive作业进行相关测试。

2.1 未开启Recovery

若集群未开启Recovery功能,则重启ResourceManager的过程中:

  • Hive作业会失败
    _2018_03_02_5_43_22
  • YARN UI页面的应用信息丢失
    重启前UI页面显示Hive作业

_2018_03_02_5_42_20

重启后UI页面作业信息消失
_2018_03_02_5_49_53

备注:
即使是HA集群,ResourceManager重启后作业也失败。因为其中一个rm1重启,作业会failover切换到rm2,但是rm2上面没有应用的相关信息,所以会出错。

2.2 开启Recovery

若集群开启了Recovery功能,则ResourceManager重启过程中:

  • Hive作业正常运行至结束
  • YARN UI的作业信息一直保留存在

3 E-MapReduce中的配置

  • E-MapReduce的EMR-3.9.0/EMR-2.9.2 以上(不包含)的版本高可用(HA)集群默认开启
  • 老版本的集群用户可以根据上述进行配置即可

欢迎加入E-MapReduce用户群
c7c8f09ebf3cc7795e0dd0da330cec88

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值