1.硬件故障
硬件故障是指jobtracker故障或TaskTracker 故障
jobtracker是单点,若发生故障,目前hadoop 还无法处理,唯有选择最牢靠的硬件作为jobtracker
jobtracker通过心跳(周期1分钟) 信号来了解TaskTracker 是否发生故障或者负载过重
jobtracker 将从任务节点列表中移除发生故障的TaskTracker
如果故障节点在执行map任务并且尚未完成,jobtracker 会要求其他节点 重新执行 次map 任务
如果故障节点在执行 reduce 任务尚未完成, jobtracker 会要求其他节点继续执行尚未完成的 reduce 任务
2.任务失败
由于代码的缺陷或者进程崩溃引起任务失败
jvm 自动退出, 想TaskTracker 父进程发送错误信息,错误信息也会写入日志
TaskTracker 监听程序会发现进程退出,或者很久没有更新信息送回 , 将任务标记为失败
标记任务失败后,任务计数器减去1 以便接受新的任务,并通过心跳信号告诉 jobtracker任务失败信息
jobtracker 获悉任务失败后,将把该任务重新放入调度队列,从新分配出去再执行
如果一个任务失败超过4次(可设置),将不会再被执行,同时作业也宣布失败.
原文地址:http://www.cnblogs.com/mjorcen/p/3965768.html