摘要:
hadoop设计的初衷就是容错.计算任务(MapReduce task)能够在节点宕机或其它随机错误下自行恢复.
但是hadoop并不完美,在实际运营中,我发现MapReduce Job仍然经常会因为一些偶发性错误而
运行失败.所以我决定深入探究一下各种不同因素是如何导致job失败的.
如果一个hadoop job的某个给定task在失败预定次(默认是4)后,整个job就会失败.
这可以通过"mapred.map.max.attempts"和"mapred.reduce.max.attempts"属性来设置.
一个task可能由于各种偶发原因而失败 - 比如我发现的情况就有磁盘满,hadoop本身的bug,或者硬件失效(e.g.: 磁盘只读).
阅读全文
posted @ 2009-09-08 02:07
彭帅
阅读(2999)
推荐(0)
编辑