15/05/24 06:11:40 INFO mapreduce.Job: Task Id : attempt_1432456238397_0004_m_000000_0, Status : FAILED
Error: java.io.IOException: Unable to initialize any output collector
at org.apache.hadoop.mapred.MapTask.createSortingCollector(MapTask.java:412)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:439)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1642)
我正在使用CDH 5.3 cloudera quickstart,我写了MapReduce程序。当我在shell上运行时,我会超越异常。
任何人都可以帮我解决这个问题,如何解决
答案 0 :(得分:0)
错误"无法初始化任何输出收集器" 表示作业无法启动容器,可能有多种原因相同。但是,必须检查hdfs处的容器日志以确定错误原因。
在此特定实例中,mapreduce.task.io.sort.mb
值的值输入大于2047 MB
,但是它允许的最大值为2047 MB
,因此高于它的任何值都会导致作业失败将提供的值标记为无效。
<强>解决方案:强>
设置mapreduce.task.io.sort.mb < 2048MB
<强>参考:强>