我正在运行一个包含 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/