正如标题所说,hadoop中,jobtracker和tasktracker有什么区别和关系?有人可以给我解释一下吗,谢谢您的帮助!
最佳答案
工作追踪 –
- JobTracker 进程在单独的节点上运行,通常不在 DataNode 上运行。
- JobTracker 是 MRv1 中 MapReduce 执行的重要守护进程。在MRv2中被ResourceManager/ApplicationMaster取代。
- JobTracker 接收来自客户端的 MapReduce 执行请求。
- JobTracker 与 NameNode 通信以确定数据的位置。
- JobTracker 根据数据局部性(数据的邻近性)和给定节点上执行任务的可用槽找到执行任务的最佳 TaskTracker 节点。
- JobTracker 监控各个 TaskTracker 并将作业的总体状态提交回客户端。
- JobTracker 进程对于 Hadoop 集群的 MapReduce 执行至关重要。
- 当 JobTracker 关闭时,HDFS 仍将运行,但 MapReduce 执行无法启动,现有 MapReduce 作业将停止。
任务跟踪器-
TaskTracker 在 DataNode 上运行。主要在所有 DataNode 上。
TaskTracker 在 MRv2 中被节点管理器取代。
TaskTracker 将与 JobTracker 持续通信,指示任务执行进度。
Mapper 和Reducer 任务在TaskTrackers 管理的DataNode 上执行。
TaskTracker 将被分配Mapper 和Reducer 任务以由JobTracker 执行。
TaskTracker 失败并不被视为致命的。当TaskTracker没有响应时,JobTracker会将TaskTracker执行的任务分配给另一个节点。
关于hadoop - hadoop中,JobTracker和TaskTracker有什么区别和关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46684091/