我是hadoop的新手,对它的配置还不熟悉。
我只想问每个节点的最大容器数。
我使用的是单节点群集(6gb ram笔记本电脑)
下面是我的Map和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
上述设置只能运行4到5个作业。最多8个集装箱。
1条答案
按热度按时间pbgvytdp1#
在单个nodemanager(hadoop worker)上运行的最大容器数取决于许多因素,比如为nodemanager分配了多少内存,还取决于特定于应用程序的需求。
的默认值
yarn.scheduler.*-allocation-*
分别是:1gb(最小分配)、8gb(最大分配)、1核和32核。所以,最小和最大分配会影响每个节点的容器数。因此,如果您有6gb ram和4个虚拟磁芯,则Yarn配置应如下所示:
上面的配置告诉hadoop使用atmost4gb和4个虚拟核,每个容器可以有128mb到2gb的内存和1到2个虚拟核,通过这些设置,您一次最多可以运行2个容器,拥有最大的资源。
现在,对于特定于mapreduce的配置:
使用此配置,理论上最多可以在4个1gb容器中同时运行4个Map器/还原器。实际上,mapreduce应用程序主机将使用1gb容器,因此并发Map程序和还原程序的实际数量将限制为3个。你可以玩弄内存限制,但可能需要一些实验才能找到最好的。
根据经验,应该将堆大小限制在总可用内存的75%左右,以确保运行更平稳。
您还可以使用
yarn.scheduler.minimum-allocation-mb
财产。有关生产系统的更多详细配置,请参考hortonworks的本文档。