更新时间:2024-11-29 GMT+08:00

配置YARN Restart特性

配置场景

YARN Restart特性包含两部分内容:ResourceManager Restart和NodeManager Restart。

  • 当启用ResourceManager Restart时,升主后的ResourceManager就可以通过加载之前的主ResourceManager的状态信息,并通过接收所有NodeManager上container的状态信息,重构运行状态继续执行。这样应用程序通过定期执行检查点操作保存当前状态信息,就可以避免工作内容的丢失。
  • 当启用NodeManager Restart时,NodeManager在本地保存当前节点上运行的container信息,重启NodeManager服务后通过恢复此前保存的状态信息,就不会丢失在此节点上运行的container进度。

配置描述

参考修改集群服务配置参数进入Yarn服务参数“全部配置”界面,在搜索框中输入参数名称。

ResourceManager Restart特性配置如下。

表1 ResourceManager Restart参数配置

参数

描述

默认值

yarn.resourcemanager.recovery.enabled

设置是否让ResourceManager在启动后恢复状态。如果设置为true,那yarn.resourcemanager.store.class也必须设置。

true

yarn.resourcemanager.store.class

指定用于保存应用程序和任务状态以及证书内容的state-store类。

org.apache.hadoop.yarn.server.resourcemanager.recovery.AsyncZKRMStateStore

yarn.resourcemanager.zk-state-store.parent-path

ZKRMStateStore在ZooKeeper上的保存目录

/rmstore

yarn.resourcemanager.work-preserving-recovery.enabled

启用ResourceManager Work preserving功能。该配置仅用于YARN特性验证。

true

yarn.resourcemanager.state-store.async.load

对已完成的application采用ResourceManager异步恢复方式。

true

yarn.resourcemanager.zk-state-store.num-fetch-threads

启用异步恢复功能,增加工作线程的数量可以加快恢复ZK中保存的任务信息的速度,取值范围大于0。

20

NodeManager Restart特性配置如下。

表2 NodeManager Restart参数配置

参数

描述

默认值

yarn.nodemanager.recovery.enabled

当Nodemanager重启时是否启用日志失败收集功能,是否恢复未完成的Application。

true

yarn.nodemanager.recovery.dir

NodeManager用于保存container状态的本地目录。

${SRV_HOME}/tmp/yarn-nm-recovery

yarn.nodemanager.recovery.supervised

NodeManager是否在监控下运行。开启此特性后NodeManager在退出后不会清理containers,NodeManager会假设自己会立即重启和恢复containers。

true