我在EC2上的开发环境中只有一个数据节点。 我做了一个很重要的MR工作,在6小时内注意到100%的mappers和20%的reducer完成了(减速器的1个显示100%的竞争,其他的0%)。 看起来像是在2个减速机运行之间挂着工作。 我在日志文件中看不到任何错误。
它可能是什么?
PS成功完成减速机的上次logging:
2012-11-09 11:29:21,576 INFO org.apache.hadoop.mapred.Task: Task:attempt_201211090523_0004_r_000000_0 is done. And is in the process of commiting 2012-11-09 11:29:22,692 INFO org.apache.hadoop.mapred.Task: Task attempt_201211090523_0004_r_000000_0 is allowed to commit now 2012-11-09 11:29:22,719 INFO org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter: Saved output of task 'attempt_201211090523_0004_r_000000_0' to /data/output/1352457275873/20121109-053433-common 2012-11-09 11:29:22,721 INFO org.apache.hadoop.mapred.Task: Task 'attempt_201211090523_0004_r_000000_0' done. 2012-11-09 11:29:22,725 INFO org.apache.hadoop.mapred.TaskLogsTruncater: Initializing logs' truncater with mapRetainSize=-1 and reduceRetainSize=-1
JobTracker日志包含以下警告消息:
2012-11-10 00:00:01,911 WARN org.apache.hadoop.mapred.JobInProgress: No room for reduce task. Node tracker_p-10-0-0-148.liveperson.com:localhost.localdomain/127.0.0.1:35533 has 71983820800 bytes free; but we expect reduce input to take 98282873836
没有足够的磁盘空间来执行作业。 解决后增加的空闲空间。