2016-10-28 26 views

回答

0

监控Hadoop作业的进度非常令人感兴趣,因为这些作业是长时间运行的作业(有时需要数天才能完成)。有意义的进度更新有助于用户确定作业是否正常运行,或者由于Hadoop堆栈中存在深层错误而导致卡住。

根据Hadoop的权威指南,

测量Hadoop作业的进度可以在拆分阶段,映射阶段和减少阶段(意外惊喜!)。测量Map阶段的进度相对容易。在开始时,输入数据被分成块,并且为每个块生成一个映射任务。只要监视完成了多少个地图阶段,就可以在地图阶段更新进度。

降低阶段有点棘手。 Reduce任务有三个阶段,即Copy,Sort和Reduce。这三个阶段用于监控缩减阶段的进度。例如,如果在特定的reduce任务中,“reduce”部分已经完成了一半,那么我们说这个reduce任务已经完成了5/6。 (1/3副本+ 1/3排序+ 1/6减少= 5/6)。

希望这会有所帮助。

+0

我得到了你的答案,但我怎么能看到这个过程?我应该安装什么工具?谢谢 – mndn

+0

Hadoop提供了一个Web界面来监视这个目的。我编写了简单的shell脚本来通过刮取页面来提取所需的值。我相信有一些更好的方法来做到这一点。 – sandeep007734

相关问题