JobTracker
负责接收用户提交的作业,负责启动、跟踪任务执行。JobSubmissionProtocol是JobClient与JobTracker通信的接口。InterTrackerProtocol是TaskTracker与JobTracker通信的接口。
TaskTracker
负责执行任务
Map task
Reduce task
文件写入:
JobTracker失败:使用ZooKepper
1. Job Tracker失败在所有的失败中是最严重的一种;解决方案:Zookepper
2. hadoop1没有处理Job
Tracker失败的机制,它是一个单点故障;
3. 可以使用Zookeeper来协作Job
Tracker
TaskTracker失败:
1.一个TaskTracker由于崩溃或者运行过于缓慢而失败,它会想JobTracker发送“心跳”;
2.如果为完成的作业,JobTracker会重新把这些任务分配到其他的TaskTrackers上面运行;
3.即使TaskTrackers没有失败也可以被JobTracker列入黑名单;