Yarn NodeManager restart


一、介绍
默认Yarn NodeManager重启后会断开所有当前正在运行的container的状态,这意味着重启后需要重新启动container进程,该特性的作用就是把NM的状态临时保存到本地,重启后从之前的状态恢复运行。


二、配置

配置以下三个参数到conf/yarn-site.xml中
1、yarn.nodemanager.recovery.enabled
默认为false,设置为true启用特性

2、yarn.nodemanager.recovery.dir
默认为$hadoop.tmp.dir/yarn-nm-recovery,NM保存container状态的本地目录

3、yarn.nodemanager.address
默认${yarn.nodemanager.hostname}:0,即随机使用临时端口,官方解释是"The address of the container manager in the NM"。NodeManager不能对RPC server使用临时端口,因为NM在重启后会更换端口,会打断重启前的container与NodeManager的连接,设置后可以固定使用同一个的端口。


三、总结
为NodeManager配置辅助服务,yarn依赖于辅助服务来支持container恢复,通常避免使用临时的端口,这样的话,重启前的container不会因为端口变化而失去container的连接。
MR的ShuffleHandler就是辅助服务的一个例子,ShuffleHandler涉及到上面的条件,所以用户或者管理员不需要对MR做任何事来满足NM restart功能:
a、mapreduce.shuffle.port参数控制了NodeManager节点上的哪个端口与ShuffleHandler进行绑定
b、ShuffleHandler已经支持在NodeManager重启后恢复之前的运行状态


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM