2009年9月8日
摘要: 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 彭帅 阅读(2990) 评论(6) 推荐(0) 编辑