单节点集群(hadoop)中的最大容器数是多少?

7dl7o3gd  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(564)

我是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个集装箱。

pbgvytdp

pbgvytdp1#

在单个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

上面的配置告诉hadoop使用atmost4gb和4个虚拟核,每个容器可以有128mb到2gb的内存和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

使用此配置,理论上最多可以在4个1gb容器中同时运行4个Map器/还原器。实际上,mapreduce应用程序主机将使用1gb容器,因此并发Map程序和还原程序的实际数量将限制为3个。你可以玩弄内存限制,但可能需要一些实验才能找到最好的。
根据经验,应该将堆大小限制在总可用内存的75%左右,以确保运行更平稳。
您还可以使用 yarn.scheduler.minimum-allocation-mb 财产。
有关生产系统的更多详细配置,请参考hortonworks的本文档。

相关问题