繁体   English   中英

EMR 4.1.0 + Spark 1.5.0 + YARN资源分配

[英]EMR 4.1.0 + Spark 1.5.0 + YARN Resource Allocation

我正在使用EMR 4.1.0 + spark 1.5.0 + YARN处理大数据。 我正在尝试利用完整群集,但是有些情况下YARN并未分配所有资源。

  • 使用4个c3.8xlarge EC2从节点(每个60.0 GB内存和32个内核)
  • 根据本文,我在EMR集群中设置了以下参数

yarn.nodemanager.resource.memory-mb-> 53856 yarn.nodemanager.resource.cpu-vcores-> 26 yarn.scheduler.capacity.resource-calculator-> org.apache.hadoop.yarn.util.resource.DominantResourceCalculator(so纱线可以同时管理内存和核心)

然后我以pyspark --master yarn-client --num-executors 24 --executor-memory 8347m --executor-cores 4开始了pyspark

但是RM UI显示以下内容

在此处输入图片说明

它仅分配21个容器,而请求的24个27 GB保留内存和12个保留核心可用于分配更多3个容器。 对?

我在这里想念什么?

谢谢!

从这里开始 ,看来您的基地应该是53248M。 此外,必须考虑10%的内存开销(spark.yarn.executor.memoryOverhead)。 53248 * .9 = 47932M,可以在每个节点上分配。 如果为每个执行程序分配8347​​M,则每个节点只能包含5个。 47932-5 * 8347 = 6197M,这不足以启动第六个执行程序。 最后3个执行程序(每个节点一个)没有启动,因为没有足够的内存来启动它们。 如果要有24个容器,请使用--executor-memory 7987M启动

请注意,如果使用此配置,则将有6个未使用的核心/节点。 该电子表格可以帮助您找到适用于任何类型/大小的群集的最佳配置

https://docs.google.com/spreadsheets/d/1VH7Qly308hoRPu5VoLIg0ceolrzen-nBktRFkXHRrY4/edit#gid=1524766257

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM