在我的MR作业中,该作业使用HFileOutputFormat进行批量加载,生成了87个 map task ,并且在大约20分钟内,所有任务都达到了100%。但是,单独的任务状态仍在hadoop管理页面中处于“正在运行”状态,并且没有一个状态移至完成状态。 reducer 始终处于挂起状态,永远不会启动。我只是等待,但是30分钟超时后它出错了。
我的工作必须加载150多个左右的列。我尝试用更少的列数运行相同的MR作业,并且很容易完成。知道为什么 map task 即使达到100%后也没有移动到完成状态?
最佳答案
一个可能的原因是发出的输出数据巨大。对其进行排序,然后将其写回磁盘将是一件耗时的事情。通常情况并非如此。
检查日志并寻找改善map-reduce代码的方法甚至是明智的。
关于hadoop - 所有 map task 均达到100%,但仍处于运行状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16856965/