YARN NodeManager Restart 特性

目录

概述

  NodeManager (NM) restart 是一个使 NodeManager 能够在不丢失节点上运行的活动 container 的情况下重新启动的功能。在高级别上,NM 在处理 container-management 请求时将任何必要的状态存储到本地 state-store 中。当NM重新启动时,它首先为各个子系统加载状态,然后使这些子系统从之前的状态中恢复过来。

配置

启用 NodeManager restart 功能需要在yarn-site.xml中进行如下配置

1.启用restart特性
  设置 yarn.nodemanager.recovery.enabled 为true启用特性,默认为false

2.配置存储NM运行状态的本地路径
  yarn.nodemanager.recovery.dir ,默认为$hadoop.tmp.dir/yarn-nm-recovery

3.启用恢复时监控功能
  将 yarn.nodemanager.recovery.supervised 参数设置为true,这样NM在退出时(假设它会被立即重新启动并恢复container)就不会尝试去清理container。默认为 false

4.为NM配置一个可用的RPC地址
  yarn.nodemanager.address。默认是 ${yarn.nodemanager.hostname}:0,也就是临时端口,NM会使用一个随机的端口作为RPC端口。但是这里不能使用临时端口,因为NM 启动前后可能会使用不同的随机端口,这样就会中断NM重启之前与之通信的客户端(通常是运行中的container)连接,因此需要显示的指定NM的RPC端口,这是使用 NM restart功能的前提条件。

5.使用辅助服务( Auxiliary services)
  Yarn集群中NM都可以配置来使用辅助服务。对于功能完整的NM restart,Yarn会依赖于任何配置为支持恢复的辅助服务。通常包括(1)避免使用临时端口,使得先前运行的客户端(这种情况下,通常是container)在重启之后不会被中断,(2)辅助服务本身可以通过NodeManager重启时重载先前的任何状态以及重新初始化辅助服务以支持可恢复性。

  MapReduce中的ShuffleHandler就是一个辅助服务的例子。ShuffleHandler已经遵守了上述的两个要求,因此用户/管理员不必做任何事情就可以支持NM restart:(1)配置项 mapreduce.shuffle.port 控制NM主机上ShuffleHandler绑定的端口,它默认为非临时端口13562。(2)ShuffleHandler服务也已经支持在NM重启后恢复以前的状态。

参考:
https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/NodeManager.html#NodeManager_Restart
https://blog.csdn.net/opensure/article/details/51108202

扫描二维码关注公众号,回复: 8835070 查看本文章
发布了57 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/CPP_MAYIBO/article/details/102638897
今日推荐