首页 > 代码库 > Map/Reduce 工作机制分析 --- 错误处理机制
Map/Reduce 工作机制分析 --- 错误处理机制
前言
对于Hadoop集群来说,节点损坏是非常常见的现象。
而Hadoop一个很大的特点就是某个节点的损坏,不会影响到整个分布式任务的运行。
下面就来分析Hadoop平台是如何做到的。
硬件故障
硬件故障可以分为两种 - JobTracker节点损坏和TaskTracker节点损坏。
1. JobTracker节点损坏
这是Hadoop集群中最为严重的错误。
出现了这种错误,那就只能重新选择JobTracker节点,而在选择期,所有的任务都必须停掉,而且当前已经完成了的任务也必须通通重来。
2. TaskTracker节点损坏
这是Hadoop集群中最常见的错误。对于这类错误,Hadoop有完好的错误处理机制。
JobTracker和TaskTracker的心跳通信机制要求TaskTracker保证在1分钟之内向JobTracker汇报进展。
如果超过时间JobTracker没有收到汇报,就会将该TaskTracker从等待调度的集合中移除出去;
而如果收到任务失败的的报告,就把这个TaskTracker移动到等待调度队列尾部重新排队。但是若一个TaskTracker连续汇报了四次失败,那么也会被移出任务等待队列。
小结
关于故障的处理维护,一般会由专人来进行管理。
这部分内容就暂且不做深究了。
另外,为什么当一个Map节点的多个Map任务中有一个失败,其他所有Map任务都要重新执行?
而Reduce节点只用重新执行失败的那一个任务?
这个问题已在CSDN上请教网友,相信很快就有回答。
Map/Reduce 工作机制分析 --- 错误处理机制