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

请描述 Hadoop 中 JobTracker 和 TaskTracker 各自承担的职责,以及它们之间的交互方式。

数据技术原理Apache Hadoop

考察说明

考查对 Hadoop 1.x 核心组件 JobTracker 与 TaskTracker 角色和协作机制的理解。

回答思路

  1. 【回答框架 1】JobTracker 是 Hadoop 1.x 的 master 节点,负责接收用户提交的作业,进行作业调度、资源管理和任务分配。它维护作业的整体状态,并将作业拆分为多个 Map 和 Reduce 任务。
  2. 【回答框架 2】TaskTracker 是 slave 节点,运行在数据节点上,负责执行 JobTracker 分配的 task,并周期性地通过心跳向 JobTracker 汇报任务执行状态和资源使用情况。
  3. 【回答框架 3】交互流程是:客户端提交作业到 JobTracker,JobTracker 根据数据本地性和集群资源,将任务分派给合适的 TaskTracker;TaskTracker 启动 JVM 运行任务,并通过心跳反馈进度,JobTracker 据此进行容错和重试。
  4. 【关键点 1】JobTracker 负责调度与资源管理,是单一 master;TaskTracker 负责任务执行,是 slave。
  5. 【关键点 2】TaskTracker 通过心跳向 JobTracker 通信,实现状态同步与故障检测。
  6. 【关键点 3】数据本地性(移动计算而非数据)是任务分配的重要原则。
  7. 【易错点 1】不能将 JobTracker 等同于 YARN 中的 ResourceManager,后者负责资源管理但不直接调度作业,职责分离。
  8. 【易错点 2】避免说 JobTracker 直接执行任务,实际只负责任务分配与监控。
  9. 【易错点 3】注意说明此模型在 Hadoop 2.x 中被 YARN 取代,原因是单点故障和扩展性瓶颈。