目录:
定义-JobTracker是什么意思?
JobTracker是一个守护程序,可在Apache Hadoop的MapReduce引擎上运行。 JobTracker是一项必不可少的服务,它将所有MapReduce任务都分发给集群中的不同节点,理想情况下是分发给已包含数据的节点,或者至少与包含数据的节点位于同一机架中。
Techopedia解释JobTracker
JobTracker是Hadoop中的服务,负责接收客户端请求。 它将它们分配给本地存在所需数据的DataNodes上的TaskTracker。 如果不可能,JobTracker尝试将任务分配给本地存在数据的同一机架内的TaskTracker。 如果由于某种原因也失败了,JobTracker会将任务分配给存在数据副本的TaskTracker。 在Hadoop中,数据块跨DataNodes复制以确保冗余,因此,如果集群中的一个节点发生故障,该作业也不会失败。
JobTracker流程:
- 来自客户应用程序的作业请求由JobTracker接收,
- JobTracker咨询NameNode以确定所需数据的位置。
- JobTracker定位包含数据或至少在数据附近的TaskTracker节点。
- 作业被提交到选定的TaskTracker。
- TaskTracker在执行任务的同时受到JobTracker的密切监视。 如果作业失败,JobTracker只需将作业重新提交给另一个TaskTracker。 但是,JobTracker本身就是单点故障,这意味着如果它失败了,整个系统就会崩溃。
- 作业完成后,JobTracker会更新其状态。
- 客户端请求者现在可以轮询JobTracker中的信息。