2012-05-29 56 views
0

当前设置:
- Hadoop的0.20.2-cdh3u3
- HBase的版本0.90.4-cdh3u3
- 码头-6.1.14
- 运行在虚拟机(Debian的挤压)的Hadoop MapReduce的getMapOutput失败

在Hbase表的mapreduce过程中出现问题。在减少阶段崩溃每次在与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 

希望能有人之前所面临的相同或类似的问题,寻找解决的办法。

回答

0

当reduce Task提前关闭到码头服务器的连接时,会看到Jetty EOFException。重新启动任务管理器并再次运行该任务。看看它是否适合你。

1

我在这里面临同样的问题。

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

错误跟踪器中存在一个公开的主要问题。请参见https://issues.apache.org/jira/browse/MAPREDUCE-5

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