[关闭]
@changedi 2018-12-10T13:09:07.000000Z 字数 1162 阅读 3110

YARN-NodeManager重启

YARN



原文:http://hadoop.apache.org/docs/r2.6.4/hadoop-yarn/hadoop-yarn-site/NodeManagerRestart.html

介绍

NodeManager的重启,是一个NodeManager的功能特性,用来支持NodeManager重启且不丢失运行中的活动的container的能力。从一个高层视角来看,NM在处理container管理请求时,存储了每一个有必要的状态到一个本地的state-store状态存储里。当NM重启时,它通过先为不同的子系统加载状态,然后让这些子系统利用这些加载的状态来进行recovery。

开启NM重启

1,开启NM的重启,先将conf/yarn-site.xml的如下属性进行设置为true:

Property Value
yarn.nodemanager.recovery.enabled true, (默认是false)

2,为NodeManager存储器状态配置一个本地文件系统目录路径
|Property| Description|
|yarn.nodemanager.recovery.dir| 用以存储状态的本地文件系统路径。默认是$hadoop.tmp.dir/yarn-nm-recovery.|

3,配置NodeManager的RPC地址。

Property Description
yarn.nodemanager.address Ephemeral端口(默认port 0)不能用yarn.nodemanager.address的设置来作为NodeManager的rpc服务端口,因为它会导致NM在重启前后使用不同的端口。这会导致之前运行的client无法通信。显式的设置一个带端口号的地址参数(比如0.0.0.0:45454)是开启NM重启功能的前置条件。

4, 附加服务
一个YARN集群中的NodeManager可以配置运行附加服务。对于一次完全的NM重启,YARN依赖于这些附加服务也支持恢复。这通常包括(1)避免使用ephemeral端口,这会导致以前连接的client在重启后端口混乱无法通信,(2)附加服务要支持通过重新加载之前状态做到恢复的能力。

一个简单的例子就是用于MapReduce(MR)的附加服务“ShuffleHandler”。ShuffleHandler满足上面两个要求:(1)配置属性mapreduce.shuffle.port控制ShuffleHandler在NodeManager主机上绑定到什么端口。(2)ShuffleHandler已经支持在NM重启后通过加载之前状态来恢复。所以用户和管理员不需要做任何事情来支持NM重启。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注