0

我阅读了有关 Apache Hadoop 的信息。他们说,在 HDFS 中,任务是任何进程,即 mapper 或 reducer。他们一起称为工作。

他们有两个东西,JOBTRACKER 和 TASKTRACKER,tasktracker 在每个节点上管理映射器或减速器任务。

而且,Jobtracker 是管理所有任务跟踪器的人。

到目前为止,我从理论上理解了所有概念,并且在许多博客中都对所有内容进行了很好的解释。

但我有一个疑问,tasktracker 如何通知 jobtracker 给定任务失败。他们如何相互交流。他们是否使用任何其他软件,例如 Apache AVRO。

请解释一下这个的内部机制。

寻找您的友好答复。

4

2 回答 2

2

AVRO 与此无关。它只是一个序列化框架,如果人们觉得 Hadoop 的序列化对他们没有多大帮助,他们通常会使用它。否则它只是 Hadoop 生态系统的另一个成员。

谈到您最初的问题,它是通过心跳完成的,正如@thiru_k 上面所指定的。但是除了可用槽的数量之外,心跳信号还包含一些其他信息,例如作业状态、资源使用情况等。一段时间内不报告其进度的任务被标记为挂起或终止。我建议你通过这个链接,它会回答你所有的问题。

于 2013-06-23T16:38:46.887 回答
1

TaskTracker 通常每隔几分钟向 JobTracker 发送心跳消息,以确保 JobTracker 仍然处于活动状态。这些消息还通知 JobTracker 可用槽的数量,因此 JobTracker 可以随时了解集群中可以委派工作的位置

于 2013-06-23T16:25:30.223 回答