Hadoop 如何正确控制纱线容器分配增量?

Hadoop 如何正确控制纱线容器分配增量?,hadoop,memory-management,resources,bigdata,yarn,Hadoop,Memory Management,Resources,Bigdata,Yarn,假设我想将纱线容器的默认值从1024MB增加到1200MB,并使所有纱线容器内存为1200MB的倍数(2400MB、3600MB,依此类推) 我可以使用纱线参数warn.scheduler.minimum allocation mb和warn.scheduler.maximum allocation mb控制容器的最大大小和最小大小,正如《Hadoop最终指南》中所述中所述 我认为分配增量与warn.scheduler.minimum allocation mb(请参阅)相同,直到最近才发现:

假设我想将纱线容器的默认值从1024MB增加到1200MB,并使所有纱线容器内存为1200MB的倍数(2400MB、3600MB,依此类推)

我可以使用纱线参数
warn.scheduler.minimum allocation mb
warn.scheduler.maximum allocation mb
控制容器的最大大小和最小大小,正如《Hadoop最终指南》中所述中所述
我认为分配增量与
warn.scheduler.minimum allocation mb
(请参阅)相同,直到最近才发现:

请求一个1200MB/1V的容器:最小大小为1GB,增量为500MB->1.5GB的容器(四舍五入到下一个增量,最小值用作基数)

在更不用说旧版本中,我没有发现该参数的任何提及或默认值

所以我的问题是:我是否需要在
warn site.xml
中将
warn.scheduler.increment allocation mb
显式设置为1200MB,这个属性的默认值是什么

为了添加更多细节,我的Hadoop版本是2.6.0-cdh5.9.2(Cloudera发行版)。

根据,默认值是512 MB


是的,您需要将
warn.scheduler.increment allocation mb
设置为1200MB,以使容器大小成倍增加。

@goodok只是出于好奇-您为什么需要它?我们的集群中有关系vmemory/vcores~1200MB,因此,容器大小在一段时间前被设置为该值+突然
warn.scheduler.maximum allocation mb
被设置为相同的值。然而,现在我研究如何在不破坏现有逻辑的情况下摆脱这种配置。只是想警告一下,如果您运行的Spark应用程序很多都使用默认配置(),AMs将请求1.384 GB的容器(默认情况下,
Spark.executor.memory
=1g和
Spark.executor.memoryOverhead
=384m),但使用新设置的纱线会将容器大小提升到2400m,因此,您将得到更少的执行器容器。