CDH5.2:MR,无法初始化任何输出收集器

时间:2014-11-14 09:19:09

标签: java hadoop mapreduce yarn cloudera-cdh

Cloudera CDH5.2快速入门VM Cloudera Manager显示所有节点state = GREEN

我在Eclipse上做了一个MR工作,包括Build Path中的所有相关cloudera jar: Avro的-1.7.6-cdh5.2.0.jar, Avro的-mapred-1.7.6-cdh5.2.0-hadoop2.jar, Hadoop的共同-2.5.0-cdh5.2.0.jar, Hadoop的MapReduce的客户端 - 芯2.5.0-cdh5.2.0.jar

我已经完成了以下工作

hadoop jar jproject1.jar avro00.AvroUserPrefCount -libjars ${LIBJARS} avro/00/in avro/00/out

我收到以下错误,是Java堆问题,有什么评论吗?提前谢谢

14/11/14 01:02:40 INFO client.RMProxy: Connecting to ResourceManager at quickstart.cloudera/127.0.0.1:8032
14/11/14 01:02:43 INFO input.FileInputFormat: Total input paths to process : 1
14/11/14 01:02:43 INFO mapreduce.JobSubmitter: number of splits:1
14/11/14 01:02:44 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1415950730849_0001
14/11/14 01:02:45 INFO impl.YarnClientImpl: Submitted application application_1415950730849_0001
14/11/14 01:02:45 INFO mapreduce.Job: The url to track the job: http://quickstart.cloudera:8088/proxy/application_1415950730849_0001/
14/11/14 01:02:45 INFO mapreduce.Job: Running job: job_1415950730849_0001
14/11/14 01:03:04 INFO mapreduce.Job: Job job_1415950730849_0001 running in uber mode : false
14/11/14 01:03:04 INFO mapreduce.Job:  map 0% reduce 0%
14/11/14 01:03:11 INFO mapreduce.Job: Task Id : attempt_1415950730849_0001_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.access$100(MapTask.java:81)
    at org.apache.hadoop.mapred.MapTask$NewOutputCollector.<init>(MapTask.java:695)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:767)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
    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:1614)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
...
...

2 个答案:

答案 0 :(得分:4)

检查失败的尝试attempt_1415950730849_0001_m_000000_0的完整任务日志将有助于说明您遇到给定异常的原因。

观察此类错误的最常见原因是您的工作io.sort.mb配置错误。它的值绝不能接近(或高于)配置的映射任务堆大小,并且当前也不得超过~2000 MB(Java数组最大大小)。

最近通过MAPREDUCE-6194提交并解决了在真正失败时更明确错误的上游改进。

答案 1 :(得分:1)

我昨天遇到了同样的问题。我检查了syslog中失败的特定map任务,这表明我在该任务中遇到了另一个触发此错误的异常。在我的情况下,这是一个无效的解析,当我纠正该问题时,此错误已得到修复。

对失败任务的日志进行仔细检查应该可以找出问题的根本原因。