数据岗位面试题更新 2026-08-05

在 Yarn 中,ApplicationMaster 运行期间需要与 ResourceManager 进行哪些通信?请描述其交互机制。

数据技术原理Apache Hadoop YARN

考察说明

考查对 Yarn 核心组件 ApplicationMaster 与 ResourceManager 通信机制的理解。

回答思路

  1. 【回答框架 1】ApplicationMaster 启动后,首先向 ResourceManager 注册,通过 registerApplicationMaster 发送自身地址和容器信息,ResourceManager 记录其状态,并返回集群最大资源等元数据。
  2. 【回答框架 2】运行期间,ApplicationMaster 通过周期性的心跳(heartbeat)与 ResourceManager 保持联系,心跳中包含请求资源的 Container 列表、释放资源请求、以及任务进度等状态信息。
  3. 【回答框架 3】ResourceManager 根据心跳中资源请求为 ApplicationMaster 分配新的 Container,并返回已完成的容器列表和集群资源变化信息。
  4. 【回答框架 4】当任务结束或失败时,ApplicationMaster 调用 finishApplicationMaster 通知 ResourceManager,ResourceManager 清理资源并更新应用状态。
  5. 【关键点 1】ApplicationMaster 与 ResourceManager 基于心跳机制通信,保持资源请求和状态同步。
  6. 【关键点 2】主要交互包括注册、心跳、资源请求与释放、任务完成通知。
  7. 【关键点 3】ResourceManager 不直接管理任务,只负责资源分配和协调。