在 Hadoop YARN 架构中,ApplicationMaster(AM)负责单个应用程序的资源申请、任务调度和状态监控。如果 ApplicationMaster 发生宕机,YARN 提供了一套完善的容错机制来确保作业能够恢复并继续执行。 整个容错和恢复过程可以分为以下几个关键步骤: 1. 故障检测 (心跳机制) 心跳维持:在正常运行期间,AM 会周期性地向 ResourceManager (RM) 发送心跳信息(汇报进度、申请资源等)。 超时判定:RM 内部有一个 (AM 活跃度监控器)。如果 RM 在规定的超时时间内(由参数 控制,默认通常为 10 分钟)没有收到 AM 的心跳,就会判定该 AM 已经宕机。 2. 状态清理与旧容器销毁 一旦确认 AM 宕机,RM 会将该 AM 标记为失败状态。 RM 会通知运行该 AM 的 NodeManager (NM) 清理掉这个失败的 AM 容器(Container),释放其占用的资源。 3. AM 的重新启动 重试次数限制:RM 不会无限次地重启 AM。YARN 允许配置 AM 的最大重试次数(参数 ,默认值通常为 2)。只有当重...