java - hadoop reducer 进度 100% 但没有结束

标签 java hadoop mapreduce

我正在运行一个包含 16 个 reduce 任务的 hadoop 作业。 (hadoop-1.2.1)

有些已经100%的进度了,但是还没有结束。 他们只是停留在 100% 和工作清理:待定。 而且他们的状态只显示'reduce > reduce'。

我猜这个问题的发生是因为作业写了太多的多输出。 (约50~100多路输出) 但这只是我的猜测。我不完全知道写很多多个输出会导致这个问题。 谁能详细告诉我这个问题是什么原因造成的? 我为此进行了很多搜索,但找不到明确的答案。

最好的问候。

最佳答案

你看过任务日志了吗?您应该能够分辨出任务在做什么。例如,您应该查看它是否正在合并文件。

另外,记下 reducer 正在处理的数据量。正在完成的 reducer 是否比未同时完成的 reducer 处理的数据少?如果是这样,那么这表明 reducer 倾斜(数据倾斜)他们比其他人做更多的工作。

关于java - hadoop reducer 进度 100% 但没有结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46195161/

相关文章:

java - 处理来自 Throwable catch 的 NullPointerException 的最佳方法? (安卓)

Java 测试类无法编译

java - 做不同事情但采用相同数据类型的两个构造函数

hadoop - Apache Pig 分位数分组

hadoop - pig 中的动态元组?

hadoop - 在 Hadoop 中,我在哪里可以更改 namenode 和 jobtracker 网页的默认 url 端口 50070 和 50030

java - 从 reducer 中将列数据作为行发出

java - 如何正确关闭 MappedByteBuffer?

unit-testing - 如何让 HBaseTestingUtility 在 map reduce 作业中查找类?

eclipse - 如何干净地卸载 Eclipse MapReduce 插件?