gpt4 book ai didi

performance - 为什么 hadoop map 任务上的更多内存会使 mapreduce 作业变慢?

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

我想问一下。为什么如果我在 mapreduce.map/reduce.memory.mb 和 mapreduce.map/reduce.java.opts 中将 mapred-site.xml 配置为比默认值更大的值会使我的工作变慢?

但是如果我将它配置得太低,那么我会任务失败。而且我认为在这种情况下,我在 hadoop 上的内存配置是没有必要的......

你能给我解释一下吗?

最佳答案

当您增加 mapreduce.map/reduce.memory.mbmapreduce.map/reduce.java.opts 的值时,您的环境中可能会发生什么> 配置到上限,它实际上减少了允许在每个节点中执行 Map/Reduce 任务的容器数量,从而最终导致整个作业时间变慢。

如果您有 2 个节点,每个节点有 25 GB 的空闲内存,并且假设您将 mapreduce.map/reduce.memory.mb 配置为 4 GB,那么您可能至少有 6 个容器每个节点,总共是 12 个。所以你将有机会并行运行 12 个 mapper/reducer 任务。

如果您将 mapreduce.map/reduce.memory.mb 配置为 10 GB,那么每个节点上可能只有 2 个容器,总共有 4 个容器来执行您的映射器/reducer 任务并行。因此,由于缺少空闲容器,mapper/reducer 任务大多会按顺序运行,从而导致整个作业完成时间的延迟。

您应该根据您的环境考虑可用资源和 Map/Reduce 容器所需的资源量来证明配置的适当值。希望这是有道理的。

关于performance - 为什么 hadoop map 任务上的更多内存会使 mapreduce 作业变慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30200419/

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