EMR hadoop (MRv2) 集群的最大容量为 80%。如何获得剩余的20%?
EMR hadoop (MRv2) cluster is maxed at 80% capacity. How to get remaining 20%?
我在 AWS 上使用 Elastic MapReduce(Hadoop 2.0 和 YARN)。
配置如下:
10 x g2.2xlarge core instances with 15GB of RAM and 8 CPU cores
yarn.nodemanager.vmem-check-enabled=false
yarn.scheduler.minimum-allocation-mb=2048
yarn.nodemanager.resource.memory-mb=12288
mapreduce.map.memory.mb=3072
运行作业时,调度程序显示仅分配了 81.7% 的集群:
已用容量:81.7%
绝对已用容量:81.7%
绝对容量:100.0%
绝对最大容量:100.0%
使用的资源:
可调度应用程序数量:1
Num 不可调度的应用程序:0
容器数量:25
最大应用程序:10000
每个用户的最大应用程序:10000
最大可调度应用程序:6
每个用户的最大可调度应用程序:6
配置容量:100.0%
配置最大容量:100.0%
配置的最小用户限制百分比:100%
配置的用户限制因子:1.0
活跃用户:hadoop
调度程序为每个节点分配最多 3 个容器,容器总数上限为 25。
为什么只分配25个容器?
从我希望看到的内存设置来看
yarn.nodemanager.resource.memory-mb(12288) / mapreduce.map.memory.mb(3072) = 4 containers per node
谢谢
P.S。这看起来像一个类似的问题,但没有回答
How concurrent # mappers and # reducers are calculated in Hadoop 2 + YARN?
我在完成 this tutorial 之后开始工作了。
2 项更改:
- mapreduce.map.memory.mb 有错字
- mapreduce.map.java.opts 默认设置太低
对我有用的最终设置是:
yarn.nodemanager.vmem-pmem-ratio=50
yarn.nodemanager.resource.memory-mb=12288
yarn.scheduler.minimum-allocation-mb=3057
yarn.app.mapreduce.am.resource.mb=6114
mapreduce.map.java.opts: -Xmx2751m
mapreduce.map.memory.mb: 3057
现在它为每个节点完全分配了 4 个容器。
我在 AWS 上使用 Elastic MapReduce(Hadoop 2.0 和 YARN)。
配置如下:
10 x g2.2xlarge core instances with 15GB of RAM and 8 CPU cores
yarn.nodemanager.vmem-check-enabled=false
yarn.scheduler.minimum-allocation-mb=2048
yarn.nodemanager.resource.memory-mb=12288
mapreduce.map.memory.mb=3072
运行作业时,调度程序显示仅分配了 81.7% 的集群:
已用容量:81.7% 绝对已用容量:81.7% 绝对容量:100.0% 绝对最大容量:100.0% 使用的资源: 可调度应用程序数量:1 Num 不可调度的应用程序:0 容器数量:25 最大应用程序:10000 每个用户的最大应用程序:10000 最大可调度应用程序:6 每个用户的最大可调度应用程序:6 配置容量:100.0% 配置最大容量:100.0% 配置的最小用户限制百分比:100% 配置的用户限制因子:1.0 活跃用户:hadoop
调度程序为每个节点分配最多 3 个容器,容器总数上限为 25。
为什么只分配25个容器?
从我希望看到的内存设置来看
yarn.nodemanager.resource.memory-mb(12288) / mapreduce.map.memory.mb(3072) = 4 containers per node
谢谢
P.S。这看起来像一个类似的问题,但没有回答 How concurrent # mappers and # reducers are calculated in Hadoop 2 + YARN?
我在完成 this tutorial 之后开始工作了。
2 项更改:
- mapreduce.map.memory.mb 有错字
- mapreduce.map.java.opts 默认设置太低
对我有用的最终设置是:
yarn.nodemanager.vmem-pmem-ratio=50
yarn.nodemanager.resource.memory-mb=12288
yarn.scheduler.minimum-allocation-mb=3057
yarn.app.mapreduce.am.resource.mb=6114
mapreduce.map.java.opts: -Xmx2751m
mapreduce.map.memory.mb: 3057
现在它为每个节点完全分配了 4 个容器。