gpt4 book ai didi

hadoop - 如何在 Hadoop 2 + YARN 中计算并发#mappers 和#reducers?

转载 作者:可可西里 更新时间:2023-11-01 14:53:56 25 4
gpt4 key购买 nike

我搜索了一段时间,发现使用 hadoop2 + yarn 的 MapReduce 集群每个节点具有以下数量的并发映射和减少:

并发映射 # = yarn.nodemanager.resource.memory-mb/mapreduce.map.memory.mb并发减少 # = yarn.nodemanager.resource.memory-mb/mapreduce.reduce.memory.mb

但是,我设置了一个包含 10 台机器的集群,配置如下:

'yarn_site' => {
'yarn.nodemanager.resource.cpu-vcores' => '32',
'yarn.nodemanager.resource.memory-mb' => '16793',
'yarn.scheduler.minimum-allocation-mb' => '532',
'yarn.nodemanager.vmem-pmem-ratio' => '5',
'yarn.nodemanager.pmem-check-enabled' => 'false'
},
'mapred_site' => {
'mapreduce.map.memory.mb' => '4669',
'mapreduce.reduce.memory.mb' => '4915',
'mapreduce.map.java.opts' => '-Xmx4669m',
'mapreduce.reduce.java.opts' => '-Xmx4915m'
}

但是集群搭建好后,hadoop允许整个集群有6个容器。我忘记了什么?我做错了什么?

最佳答案

不确定这是否与您遇到的问题相同,但我遇到了类似的问题,我在 核心实例组 中启动了一个包含 20 个 c3.8xlarge 节点的 EMR 集群,类似地发现集群在运行作业时严重未得到充分利用(只有 30 个映射器在整个集群中同时运行,尽管 YARN 和 MapReduce 中针对我的特定集群的内存/vcore 配置显示可以运行超过 500 个并发容器)。我在 AMI 3.5.0 上使用 Hadoop 2.4.0。

事实证明,出于某种原因,实例组很重要。当我重新启动集群时,任务实例组 中有 20 个节点,而只有 1 个核心节点,这产生了巨大的变化。我同时运行了 500 多个映射器(在我的例子中,映射器主要从 S3 下载文件,因此不需要 HDFS)。

我不确定为什么不同的实例组类型会有所不同,因为两者都可以同等地运行任务,但显然它们的处理方式不同。

我想我会在这里提到它,因为我自己遇到了这个问题并且使用不同的组类型有所帮助。

关于hadoop - 如何在 Hadoop 2 + YARN 中计算并发#mappers 和#reducers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24414748/

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