我有一个hadoop 0.20 map/reduce作业,过去运行得很好。在过去的几天里,它在reduce阶段卡住了16.66%,当我在jobtracker中查看reduce任务时,我看到了以下错误;
Shuffle Error: Exceeded the abort failure limit; bailing-out.
谁能告诉我这是什么意思,也许指给我在正确的方向,所以我可以找出如何解决这个问题?
此错误对应于reducer在报告map输出并映射到属性mapreduce.reduce.shuffle.maxfetchfailures
之前尝试获取map输出的最大次数。
您可以尝试增加此属性,但默认值10通常已经足够了,因此可能会出现更严重的情况。
我记得一个类似的情况下,获取失败是由于不正确的/etc/hosts文件,谷歌后,它看起来像这可能是问题,所以尝试以下:
- 使用主机名代替ip
- 在所有节点上同步/etc/hosts(如果你使用像Puppet这样的东西更容易)
- 尝试注释" 127.0.0.1 localhost "
- 重启集群