hadoop - 为什么map任务总是在单个节点上运行

标签 hadoop mapreduce hdfs

我有一个具有 4 个节点的全分布式 Hadoop 集群。当我将我的工作提交给 Jobtracker 时,它决定 12 个 map task 对我的工作来说很酷,一些奇怪的事情发生了。12 个 map task 总是在单个节点上运行,而不是在单个节点上运行在整个集群上运行。在我问这个问题之前,我已经做了以下事情:

  1. 尝试不同的工作
  2. 运行 start-balance.sh 重新平衡集群

但是它不起作用,所以我希望有人能告诉我为什么以及如何修复它。

最佳答案

如果输入数据文件的所有 block 都在该节点中,则调度程序优先考虑同一节点

关于hadoop - 为什么map任务总是在单个节点上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12135949/

相关文章:

hadoop - 如何检查hadoop上的参数是否已设置?

Oracle 到 HBase : Pivot

hadoop - 本地模式下的 Nutch 是否独立于 Hadoop?

hadoop - 如何使用 MultipleTextOutputFormat 类将默认输出文件重命名为一些有意义的名称?

mapreduce - RavenDB 映射减少,减少中的重复条目

hadoop - 如何在HDFS中读取复制因子值

hadoop - 了解 htfp url 和 hdfs 路径之间的区别

apache - 重启电脑后名称节点不启动(hadoop 2.7.3)

hadoop - HBase 0.95.1在hadoop-2.0.5 alpha上失败

linux - 当有可用空间时,Hadoop No space left on device 错误