Hadoop mapreduce getMapOutput失败

时间:2012-05-29 12:27:22

标签: hadoop mapreduce

当前设置:
- Hadoop 0.20.2-cdh3u3
- Hbase版本0.90.4-cdh3u3
- Jetty-6.1.14
- 在VM上运行(Debian Squeeze)

在Hbase表的mapreduce过程中出现问题。在Reduce阶段,每次与tasktracker.log中的这些日志在同一点崩溃:

ERROR org.apache.hadoop.mapred.TaskTracker: getMapOutput(attempt_201205290717_0001_m_000010_0,3) failed:
org.mortbay.jetty.EofException

WARN org.mortbay.log: Committed before 410 getMapOutput(attempt_201205290717_0001_m_000010_0,3) failed :
org.mortbay.jetty.EofException

ERROR org.mortbay.log: /mapOutput
java.lang.IllegalStateException: Committed

希望任何人在遇到相同或类似的问题之前,寻找解决方案。

2 个答案:

答案 0 :(得分:1)

我在这里遇到同样的问题。

在我的群集上,这种情况发生在除了一个之外的所有从属设备(datanode和tasttrackers)上,这导致一般的减少过程首先非常缓慢地进行,并且在到目前为止由于一些错误。然后,reduce程序重新开始:作业永远不会完成。

bugtracker中有一个开放的主要问题。见https://issues.apache.org/jira/browse/MAPREDUCE-5

让我们希望,有一天它会被修复,但就在那一刻,我无法使用我的hadoop程序和大文件>总共3 GB。在我的情况下,我希望,我可以通过额外的数据清理和更有效的数据结构(trove,fastutils)来修复它,所以问题根本不会发生,但老实说,这感觉有点像这里的错误方法。不管那些较小的调整是否是从hadoop开始的主要原因。

答案 1 :(得分:0)

当reduce Task过早关闭与jetty服务器的连接时,会观察到Jetty EOFException。重新启动tasktrackers并再次运行该作业。看看它是否适合你。

相关问题