最低要求的角色: Configurator(也由群集管理员 ,完全管理员最低要求的角色: 配置器(也由群集管理员,完全管理员 提供)
CDH 5.2引入了YARN ResourceManager和NodeManager的工作保持恢复。在启用工作保持恢复的情况下,如果ResourceManager或NodeManager重新启动,则不会丢失任何正在进行的工作。您可以分别为ResourceManager或NodeManager配置工作保留恢复。无论您是否使用ResourceManager High Availability,都可以启用工作保留恢复。
注意: YARN不支持JobHistory服务器(JHS)的高可用性。如果JHS发生故障,Cloudera Manager将自动重启。
注意:
将JobHistory服务器移动到新主机后,ResourceManager Web UI上为JobHistory服务器列出的URL仍指向旧JobHistory服务器。这仅影响现有作业。移动后新开始的工作不受影响。对于任何具有不正确的JobHistory服务器URL的现有作业,除了允许作业逐渐推出历史记录之外,没有别的选择。对于新作业,请确保所有客户端都具有引用正确JobHistory服务器的更新的mapred-site.xml。
使用Cloudera Manager配置工作保持恢复
使用Cloudera Manager在ResourceManager上启用工作保留恢复
如果使用Cloudera Manager并启用YARN(MRv2)ResourceManager高可用性,则缺省情况下会为ResourceManager启用保留工作恢复。
使用Cloudera Manager在ResourceManager上禁用工作保留恢复
要禁用ResourceManager的工作维护恢复,请执行以下操作:
- 转到YARN服务。
- 单击Configuration 选项卡。
- 搜索 Enable ResourceManager Recovery.
- 在Enable ResourceManager Recovery ,清除 ResourceManager Default Group复选框。
- 点击保存更改。
使用Cloudera Manager在NodeManager上启用工作保留恢复
恢复目录的缺省值是 /var/lib/hadoop-yarn/yarn-nm-recovery.
默认情况下,Cloudera Manager会启用工作保留恢复。
如果需要,以下是为给定NodeManager启用工作保留恢复的步骤:
- 在该NodeManager上编辑yarn-site.xml,并设置值yarn.nodemanager.recovery.enabled 为true 。
- 在启用保留工作恢复时,配置存储状态信息的本地文件系统上的目录。
- 转到YARN服务。
- 单击Configuration 选项卡。
- 搜索NodeManager Recovery Directory.
- 在NodeManager Recovery Directory 输入在目录路径字段(例如,/var/lib/hadoop-yarn/yarn-nm-recovery)。
- 点击保存更改。
使用命令行配置工作保持恢复
最低要求的角色: 配置器(也由群集管理员 提供,完全管理员)
重要:
- 在不使用Cloudera Manager的系统上遵循这些命令行指示信息。
- 此信息特别适用于CDH 5.14.X。有关其他版本的信息,请参阅Cloudera文档。
启用YARN(MRv2)ResourceManager高可用性后,在ResourceManager和所有NodeManagers上的yarn-site.xml添加配置元素。
- 设置值 yarn.resourcemanager.work-preserving-recovery.enabled 为true ,使ResourceManager启用工作保留恢复,并为NodeManager 设置之yarn.nodemanager.recovery.enabled 为true 。
- 对于每个NodeManager,在启用保留工作恢复时设置存储状态信息的本地文件系统上的目录 ,yarn.nodemanager.recovery.dir。默认值是${hadoop.tmp.dir}/yarn-nm-recovery。这个位置通常指向/tmp目录。因为许多操作系统在重启后不保留/ tmp目录内容,Cloudera强烈建议更改位置yarn.nodemanager.recovery.dir 到根分区下的目录。如果托管此目录的驱动器发生故障,NodeManager也会失败。下面的例子使用/home/cloudera/recovery。
- 为NodeManager配置有效的RPC地址 yarn.nodemanager.address (such as 0.0.0.0:45454).。临时端口(默认为端口0)不能用于NodeManager的RPC服务器; 这可能会导致NodeManager在重新启动之前和之后使用不同的端口,从而阻止客户端连接到NodeManager。NodeManager RPC地址对于在YARN集群中运行的辅助服务也很重要。
辅助服务的设计应该支持在NodeManager重新启动后重新加载之前的状态。示例辅助服务(用于MapReduce的ShuffleHandler服务)遵循支持保留NodeManager恢复工作的辅助服务的正确模式。
有关更多信息,请参阅启动,停止和重新启动服务。
保留工作恢复的示例配置
最低要求的角色: 配置器(也由群集管理员 ,完全管理员提供)
如果您不使用Cloudera Manager,以下示例配置可与Cloudera Manager高级配置片段一起使用,或者直接添加到yarn-site.xml中。调整配置以适应您的环境。
<property>
<name>yarn.resourcemanager.work-preserving-recovery.enabled</name>
<value>true</value>
<description>Whether to enable work preserving recovery for the Resource Manager</description>
</property>
<property>
<name>yarn.nodemanager.recovery.enabled</name>
<value>true</value>
<description>Whether to enable work preserving recovery for the Node Manager</description>
</property>
<property>
<name>yarn.nodemanager.recovery.dir</name>
<value>/home/cloudera/recovery</value>
<description>The location for stored state on the Node Manager, if work preserving recovery
is enabled.</description>
</property>
<property>
<name>yarn.nodemanager.address</name>
<value>0.0.0.0:45454</value>
</property>