【问题标题】:How to do YARN role graceful shutdown on a Cloudera Manager datanode CDH 6.3.2如何在 Cloudera Manager 数据节点 CDH 6.3.2 上执行 YARN 角色正常关闭
【发布时间】:2022-01-27 17:34:57
【问题描述】:

找不到这个问题的答案。

如何优雅地停止数据节点上的 YARN 角色并等待数据节点上所有正在运行的作业以成功状态完成。

我知道在 ClouderaManager 中,当你可以停止它时,你可以解除纱线角色。 如果我做 YARN 角色退役 正在运行的作业将因退出代码被终止或崩溃状态而失败。

这是在数据节点上停止 YARN 角色的安全方法吗?

这是一个优雅的纱线角色关闭还是其他方法可以做到这一点? all jobs have killed status after YARN role decommission

【问题讨论】:

  • 你发现了吗?

标签: mapreduce hadoop-yarn cloudera-cdh cloudera-manager


【解决方案1】:

Apache website for hadoop 3.3 上的记录很差:

使用您希望停用的 NodeManager 创建一个 XML 文件:

<?xml version="1.0"?>
<hosts>
  <host><name>host1</name></host> <!-- normal 'kill' --> 
  <host><name>host2</name><timeout>123</timeout></host> <!-- allows jobs 123 seconds to finish --> 
  <host><name>host3</name><timeout>-1</timeout></host><!-- allows jobs infinite seconds to finish --> 
</hosts>

更新你的配置(yarn-site.xml)指向这个文件(不需要重启)

yarn.resourcemanager.nodes.exclude-path=[path/to/exculd/file]

运行更新:(启动退役)

yarn rmadmin -refreshNodes 

或者,您可以为所有节点设置一个正常的超时:

yarn.resourcemanager.nodemanager-graceful-decommission-timeout-secs

您也可以手动设置正常超时:

yarn rmadmin -refreshNodes -g [timeout in seconds] -client

【讨论】:

  • 感谢您的回复并提供帮助。在 Cloudera hadoop 中,这个过程有点不同。我找到了解决方案并在我们的集群上进行了测试。我发布了上面的所有步骤。我希望它会在未来对其他人有所帮助。
  • 很高兴您能够解决问题。很抱歉,我没有根据 Cloudera Manager 提出问题。如果那是答案,请不要忘记将您自己的答案标记为正确。如果您觉得我的回答有帮助,请点赞。
【解决方案2】:

YARN 优雅退役将等待作业完成。您可以传递超时值,以便 YARN 将在 x 秒后开始停用。如果在 x 秒内没有作业运行,则 YARN 将自动开始停用,而无需等待超时发生。

CM -> 集群 -> 纱线 -> 配置 -> 在搜索栏中(

yarn.resourcemanager.nodemanager-graceful-decommission-timeout-secs) 设置值并保存配置并重新启动以部署配置。 停用特定主机/更多主机

CM -> Clusters -> yarn -> Instances(选择你要退役的主机)

单击 -> 选定主机的操作 -> 停用 如果您想停用主机的所有角色,请遵循此文档 https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/cm_mc_host_maint.html#decomm_host

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    相关资源
    最近更新 更多