2013-07-19 46 views
1

我看到hadoop cdh4的奇怪行为。在所有映射器完成之前,一些减速器已经完成。我认为所有的缩减器(调用reduce())都必须等到mapper完成。这是一个hadoop错误?他们的这种工作可能会在这种状态下结束吗?我在这里错过了什么?Hadoop cdh4:reducer在映射器完成之前完成

Reducers finish before mappers

+0

我认为没有什么不对。我的缩减器也与我的映射器一起运行(不是这样,但是当他们从映射器接收到必要的数据时,它们似乎会进步)。此外,你的减速器任务几乎是没有任何映射器的一半。所以你的减速器97%与映射器97%不完全一样。也许剩下的3%映射器产生的是剩余3%的还原器的足够数据 –

回答

0

有时候你看到怪异的行为与Hadoop的UI时,工作往往会失败。我认为你看到这个是因为你有一个任务失败或者可能更多,有些未能在UI中反映出来。可能是由于tasktrackers和jobtacker或内部计算之间的网络通信延迟(我不太确定)。这不是很好的记录。

恐怕我帮不了你。您可能希望查找Hadoop WebUI的任何错误。如果我找到任何东西,我会尽快回复您。

+0

我期望所有的reducer都处于运行状态,并且它们都不应处于完成状态。但正如你所看到的,大多数减速器已经完成。 – Paramesh

+0

对不起,我最后一次回答的时候推断你的问题是错误的。请接受我的道歉。我的头有时候工作缓慢。 –

相关问题