在 Hadoop YARN 架构中,ResourceManager (RM) 是整个集群的资源“大管家”,而 NodeManager (NM) 是各个节点上的“地方代理”。RM 感知并处理失效 NM 的过程是一个非常经典的心跳机制与状态机驱动的容错流程。 以下是具体的感知与处理过程详解: 一、 RM 如何“感知” NM 失效?(感知机制) RM 对 NM 存活状态的感知完全依赖于心跳机制 (Heartbeat) 和超时监控 (Liveness Monitor)。 1. 正常的心跳汇报 NM 在启动后,会向 RM(具体是 组件)注册自己。 注册成功后,NM 会周期性(默认 1 秒)向 RM 发送心跳信息。心跳内容包括:节点健康状况、当前运行的 Container 列表、刚完成的 Container 状态等。 RM 收到心跳后,会更新该 NM 的“最近心跳时间戳”。 2. NodeLivenessMonitor 监控超时 RM 内部运行着一个专门的监控服务:。 它是一个后台线程,会周期性地遍历所有已注册的 NM,检查它们的“最近心跳时间戳”。 如果 ,RM 就会认定该 NM 已经失效...