并非所有节点都在集群中被利用



我有一个由YARN管理的30节点Hadoop MR2集群。目前有10个Oozie作业,每个作业运行一个Map程序。我注意到30个节点中只有11个被实际利用;只有11个节点有运行Map程序的容器。

我希望每个节点至少有一个容器在运行。为什么不是这样呢?是由于输入分割,并且基于我的HDFS块大小设置,输入数据最好只分割到11个节点吗?如果是这样的话,调整区块大小以使所有节点都得到利用是否更优?

资源管理器将根据请求在集群中分配所需的资源。这些资源将被用于运行map reduce作业的容器中。

如果有足够的可用资源,数据节点可以承载多个容器。不要忘记,在hadoop中,计算是移动到数据上的,而不是相反。正在运行mapreduce作业的数据节点最有可能是存储您正在处理的数据的节点。输入分割取决于数据块,不直接影响参与计算的主机。

认为所有节点都应该运行是坏主意。使用大数据的最佳方式是尽可能少地移动数据。

相关内容

  • 没有找到相关文章

最新更新