【发布时间】:2014-06-25 17:12:21
【问题描述】:
我已经搜索过一段时间,发现使用 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个容器。我忘记了什么?我做错了什么?
【问题讨论】:
-
路易斯,你有想过这个吗?我相信这个公式更像是我的问题中链接到的 Cloudera 博客文章中的那个 - stackoverflow.com/questions/25193201/… - 但我发现它在 EMR 上不太正确。
-
10 台机器集群的 6 个容器?这很奇怪。同一台机器总是没有任务吗?你有足够的映射器/减速器来启动吗?
标签: hadoop hadoop-yarn hadoop2