And*_*rew 5 apache hadoop mapreduce hadoop-yarn hadoop2
我是hadoop的新手,我对它的配置还不熟悉.
我只想询问每个节点的最大容器数.
我使用的是单节点集群(6GB ram笔记本电脑)
以下是我的mapred和yarn配置:
**mapred-site.xml**
map-mb : 4096 opts:-Xmx3072m
reduce-mb : 8192 opts:-Xmx6144m
**yarn-site.xml**
resource memory-mb : 40GB
min allocation-mb : 1GB
Run Code Online (Sandbox Code Playgroud)
以上设置只能运行4到5个作业.最多8个容器.
Ash*_*ith 13
在单个NodeManager(hadoop worker)上运行的最大容器取决于很多因素,例如为NodeManager分配的内存量,还取决于应用程序的特定要求.
默认yarn.scheduler.*-allocation-*值为:1GB(最小分配),8GB(最大分配),1个核心和32个核心.因此,最小和最大分配会影响每个节点的容器数.
因此,如果您有6GB RAM和4个虚拟内核,以下是YARN配置的外观:
yarn.scheduler.minimum-allocation-mb: 128
yarn.scheduler.maximum-allocation-mb: 2048
yarn.scheduler.minimum-allocation-vcores: 1
yarn.scheduler.maximum-allocation-vcores: 2
yarn.nodemanager.resource.memory-mb: 4096
yarn.nodemanager.resource.cpu-vcores: 4
Run Code Online (Sandbox Code Playgroud)
上面的配置告诉hadoop使用最多4GB和4个虚拟内核,每个容器可以有128 MB到2 GB的内存和1到2个虚拟内核,通过这些设置,你可以一次最多运行2个容器.
现在,针对MapReduce的具体配置:
yarn.app.mapreduce.am.resource.mb: 1024
yarn.app.mapreduce.am.command-opts: -Xmx768m
mapreduce.[map|reduce].cpu.vcores: 1
mapreduce.[map|reduce].memory.mb: 1024
mapreduce.[map|reduce].java.opts: -Xmx768m
Run Code Online (Sandbox Code Playgroud)
通过这种配置,理论上最多可以在4个1GB容器中同时运行4个映射器/缩减器.在实践中,MapReduce应用程序主机将使用1GB容器,因此并发映射器和缩减器的实际数量将限制为3.您可以使用内存限制,但可能需要一些实验才能找到最佳的.
根据经验,您应该将堆大小限制为可用总内存的大约75%,以确保运行更顺畅.
您还可以使用yarn.scheduler.minimum-allocation-mb属性为每个容器设置内存.
有关生产系统的更多详细配置,请使用hortonworks中的此文档作为参考.
| 归档时间: |
|
| 查看次数: |
18166 次 |
| 最近记录: |