TaskTracker 是Hadoop集群中运行于各个节点上的服务。他是JobTracker和Task之间的“通信桥梁”。一方面它从JobTracker端接受并执行各种命令:比如运行任务、提交任务、杀死任务。 另一方面它将各个任务的状态周期性心跳汇报给JobTracker。
其两个功能:
- 汇报心跳:
- 机器级别信息:节点健康状况、资源使用情况。
- 任务级别信息:任务执行进度、任务运行状态、任务Counter信息
- 执行命令
- 主要包括启动任务、提交任务、杀死任务、杀死作业、重新初始化 5种命令
- 为防止任务之间干扰,为每个Task创建一个单独的Java虚拟机,并有专门的线程监控其资源使用情况,一旦发现超量使用资源就直接将其杀掉。