gpt4 book ai didi

Hadoop,机器之间负载不均

转载 作者:可可西里 更新时间:2023-11-01 16:07:21 25 4
gpt4 key购买 nike

我有一个由 4 台机器组成的集群,我需要针对这些机器运行基准测试。

我决定使用 Terasort 进行基准测试。

但是,当我运行基准测试时,四台机器中只有一台处于负载状态,而其他三台完全空闲。

如果我再次运行测试,另一台机器将完全处于负载状态,而其他三台机器将处于空闲状态。

当我使用 Teragen 创建数据集时,一切正常,负载均匀分布在所有四台机器上。

这个配置有什么问题?

谢谢

最佳答案

我希望您的集群正确分布为 4 个节点(1 个名称节点、1 个辅助名称节点、2 个数据节点)

流程的发生就像它从名称节点开始一样,作业跟踪器将为具有数据 block 的任务跟踪器安排作业。

数据节点的使用取决于几个因素,例如复制数量、映射器数量和 block 数量。

如果block的数量很多,它会均匀的放置在你集群的所有数据节点中。如果复制因子为 2,则 block 将在两个数据节点中可用。所以两者都可以运行处理这些 block 的映射器

如果一个文件有两个 block ,并且两个映射器将在数据节点中同时运行并正确利用资源。

在您的情况下, block 大小似乎是问题所在。尝试减少它。所以应该至少有 2 个 block ,这使得利用率会更高,性能也会更高。

Hadoop 可以根据您的需要通过以下设置进行调整。

dfs.replication in hdfs-site.xml
dfs.block.size in hdfs-site.xml

祝你好运!!!

关于Hadoop,机器之间负载不均,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34874506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com