【问题标题】:Hadoop YARN: How to force a Node to be Marked "LOST" instead of "SHUTDOWN"?Hadoop YARN:如何强制将节点标记为“丢失”而不是“关闭”?
【发布时间】:2021-05-14 15:42:48
【问题描述】:

我正在对节点丢失时发生的 YARN 应用程序故障进行故障排除,因此我正在尝试重新创建这种情况。但我只能强制节点关闭而不是丢失。我正在使用 AWS EMR,并且我已经尝试过:

  • 登录到节点并执行shutdown -h now
  • 登录到节点并执行sudo stop hadoop-yarn-nodemanagersudo stop hadoop-hdfs-datanode
  • kill -9 <pid> 杀死NodeManager

这些会导致 SHUTDOWN 节点,但不会导致 LOST 节点。

如何在 AWS EMR 中创建 LOST 节点?

【问题讨论】:

  • 您是否尝试过在节点上关闭接口,例如ifconfig eth0 down ?
  • 不,这是个好建议。我会试试看。
  • 行得通!谢谢。

标签: hadoop hadoop-yarn amazon-emr


【解决方案1】:

NodeManager is LOST 表示 ResourceManager 在nm.liveness-monitor.expiry-interval-ms 毫秒(默认为 10 分钟)内没有收到来自它的心跳。您可能想尝试阻止从 NM 节点到 RM 的 IP 的出站流量(或者如果 RM 节点运行多个服务,则仅阻止端口),但我不确定如何在 AWS 中实现这一点。也许使用 iptables,例如:

iptables -A OUTPUT -p tcp -d <RM's IP> --dport <RM's port> -j DROP

【讨论】:

  • 当我在运行 NM 的机器上执行 shutdown -h now 之类的操作时,节点几乎立即被标记为 SHUTDOWN。你知道 SHUTDOWN 状态和 LOST 有什么不同吗?
  • 它们不同,因为在关闭期间 NM 会执行 ShutdownHook,这在一定程度上向 RM 发出信号,表明此 NM 实例正在正常关闭。 LOST 状态表示 RM 基本上失去了对 NM 状态的跟踪。您可以通过查看代码 github.com/apache/hadoop/blob/branch-3.0.0/hadoop-yarn-project/… 或在 Web 其他地方搜索一些不错的 RM 状态机图来查看可能的 NM 转换。
【解决方案2】:

正如我在 cmets 中所建议的,在节点上关闭接口会导致节点丢失场景,例如:

ifconfig eth0 down

【讨论】:

    猜你喜欢
    • 2019-01-08
    • 1970-01-01
    • 1970-01-01
    • 2023-02-13
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    相关资源
    最近更新 更多