在单节点环境中,5 个 Reducer 中有 1 个完成后,MapReduce 作业挂起

在单节点环境中,5 个 Reducer 中有 1 个完成后,MapReduce 作业挂起

我在 EC2 上的开发环境中只有一个数据节点。我运行了繁重的 MR 作业,并在 6 小时内注意到 100% 的映射器和 20% 的减速器已完成(其中一个减速器显示 100% 竞争,其他减速器显示 - 0%)。看起来作业在 2 个减速器运行之间挂起。我在日志文件中没有看到任何错误。

它会是什么?

PS 成功完成的减速器的最后日志:

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

答案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

磁盘空间不足以执行作业。增加可用空间后解决。

相关内容