YARN ResourceManager重启作业保留机制

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

1. 前置

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

参见详细文档ResourceManagerRestart

涉及配置如下:

key value 备注
yarn.resourcemanager.recovery.enabled true
yarn.resourcemanager.store.class org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore 有三种StateStore,分别是基于zookeeper, HDFS, leveldb, HA高可用集群必须用ZKRMStateStore
yarn.resourcemanager.work-preserving-recovery.scheduling-wait-ms 10000 默认10000,用默认值即可

备注:

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

相关实践学习
数据湖构建DLF快速入门
本教程通过使⽤数据湖构建DLF产品对于淘宝用户行为样例数据的分析,介绍数据湖构建DLF产品的数据发现和数据探索功能。
快速掌握阿里云 E-MapReduce
E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、HBase,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。 本课程主要介绍阿里云 E-MapReduce 的使用方法。
目录
相关文章
|
8月前
|
资源调度 Kubernetes Java
Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
|
1月前
|
资源调度 Kubernetes Java
Flink--day02、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
Flink--day022、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
168 5
|
存储 分布式计算 资源调度
Hadoop运行模式(三)、群起集群、配置workers、启动集群、启动HDFS、拼接、Web端查看HDFS的NameNode、Web端查看YARN的ResourceManager
Hadoop运行模式(三)、群起集群、配置workers、启动集群、启动HDFS、拼接、Web端查看HDFS的NameNode、Web端查看YARN的ResourceManager
Hadoop运行模式(三)、群起集群、配置workers、启动集群、启动HDFS、拼接、Web端查看HDFS的NameNode、Web端查看YARN的ResourceManager
|
8月前
|
SQL 资源调度 大数据
大数据平台 CDP 中如何配置 hive 作业的 YARN 队列以确保SLA?
大数据平台 CDP 中如何配置 hive 作业的 YARN 队列以确保SLA?
|
8月前
|
SQL 资源调度 安全
开启 Kerberos 安全的大数据环境中,Yarn Container 启动失败导致作业失败
开启 Kerberos 安全的大数据环境中,Yarn Container 启动失败导致作业失败
|
存储 资源调度 分布式计算
YARN 作业提交全流程|学习笔记
快速学习 YARN 作业提交全流程
364 0
YARN 作业提交全流程|学习笔记
|
资源调度 分布式计算 监控
【Hadoop技术篇】YARN 作业执行流程
Yarn的作业流程是每个大数据领域的工作者都应该熟记于心的内容,今天我就来整理一下执行流程,记得点赞加收藏哦。 
177 0
【Hadoop技术篇】YARN 作业执行流程
|
SQL 资源调度 分布式计算
pyspark提交作业到yarn集群一些问题总结
pyspark提交job到yarn集群一些问题总结
|
资源调度 分布式计算 Java
MapReduce作业在YARN的内存分配设置
MapReduce作业在YARN的内存分配设置
333 0
MapReduce作业在YARN的内存分配设置
|
Web App开发 资源调度 分布式计算
基于Knox登录Yarn UI查看SparkStreaming作业兼容性问题说明
问题背景 1.登录EMR集群节点,运行SparkStreaming示例,如下所示(不同版本EMR集群spark-examples_xxx.jar的路径略有差异): [root@emr-header-1 ~]# spark-submit --class org.
1965 0