我有一个具有 4 个节点的全分布式 Hadoop 集群。当我将我的工作提交给 Jobtracker 时,它决定 12 个 map task 对我的工作来说很酷,一些奇怪的事情发生了。12 个 map task 总是在单个节点上运行,而不是在单个节点上运行在整个集群上运行。在我问这个问题之前,我已经做了以下事情:
- 尝试不同的工作
- 运行 start-balance.sh 重新平衡集群
但是它不起作用,所以我希望有人能告诉我为什么以及如何修复它。
最佳答案
如果输入数据文件的所有 block 都在该节点中,则调度程序优先考虑同一节点
关于hadoop - 为什么map任务总是在单个节点上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12135949/