为什么即使我在集群上添加节点,我的 Hadoop MapReduce 也没有 运行 更快?

Why is my Hadoop MapReduce doesn't run faster even when i add nodes on the cluster?

所以我 运行 在我的 Hadoop 集群上有 50 MB 的 WordCount 数据。 i 运行 在5个不同大小的集群上进行测试,单节点集群最多5个节点集群。问题是,执行时间变化不大。每个 运行 只有 1 - 2 分钟不同。向集群中添加节点不会导致可以使用更多资源并使作业 运行 更快吗?

我希望每次添加节点后执行时间会更快,但结果显示并非如此。

我使用的节点有 2 GB RAM 和 2 个内核。 关于 yarn-site.xml 和 mapred-site.xml.

上的 map/reduce allocation.mb 容器,我没有做任何更改

您需要用更多的数据进行测试。 YARN 将为每个 HDFS 数据块分配一个映射容器。默认的 HDFS 块大小通常为 64Mb,因此您的测试文件可能只使用一个 HDFS 块。 容器是 YARN 分配给节点的最小计算片段。在最坏的测试情况下,map 阶段只需要一个容器,reduce 阶段需要另一个容器。 2 个容器通常只适合一个节点,因此添加更多节点并不能提高速度。