Apache spark 电子病历4.1.0+;Spark 1.5.0+;纱线资源配置
Apache spark 电子病历4.1.0+;Spark 1.5.0+;纱线资源配置,apache-spark,yarn,emr,Apache Spark,Yarn,Emr,我正在使用EMR 4.1.0+spark 1.5.0+纱线处理大数据。我正试图利用整个集群,但有些人并没有分配所有的资源
使用4个c3.8X大型EC2从节点(每个60.0 GB内存和32核)
根据这一点,我在EMR集群中设置了以下参数
warn.nodemanager.resource.memory-mb->53856
纱线.nodemanager.resource.cpu-vcores->26
yarn.scheduler.capacity.resource-calculator->org
我正在使用EMR 4.1.0+spark 1.5.0+纱线处理大数据。我正试图利用整个集群,但有些人并没有分配所有的资源
- 使用4个c3.8X大型EC2从节点(每个60.0 GB内存和32核)
- 根据这一点,我在EMR集群中设置了以下参数
warn.nodemanager.resource.memory-mb->53856
纱线.nodemanager.resource.cpu-vcores->26
yarn.scheduler.capacity.resource-calculator->org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
(因此纱线可以同时管理内存和磁芯)
然后我开始用pyspark
pyspark--主纱线客户机--num executors 24--executor memory 8347m--executor cores 4
但是rmui显示了以下内容
它只分配21个容器,而请求24个
27 GB的保留内存和12个保留核心可用于分配3个以上的容器。对吧?
我错过了什么
谢谢大家! ,看起来你的基数应该是53248M。此外,还必须考虑10%的内存开销(spark.Thread.executor.memoryOverhead)。53248*.9=47932M,可在每个节点上分配。如果为每个执行器分配8347M,则每个节点只能包含其中的5个。47932-5*8347=6197M,没有足够的可用内存来启动第6个执行器。最后3个执行器(每个节点一个)未启动,因为内存不足,无法启动。如果希望有24个容器,请使用--executor内存7987M启动
注意,如果使用此配置,将有6个未使用的内核/节点。此电子表格可帮助您找到任何类型/大小集群的最佳配置
,看起来你的基地应该是53248米。此外,还必须考虑10%的内存开销(spark.Thread.executor.memoryOverhead)。53248*.9=47932M,可在每个节点上分配。如果为每个执行器分配8347M,则每个节点只能包含其中的5个。47932-5*8347=6197M,没有足够的可用内存来启动第6个执行器。最后3个执行器(每个节点一个)未启动,因为内存不足,无法启动。如果希望有24个容器,请使用--executor内存7987M启动
注意,如果使用此配置,将有6个未使用的内核/节点。此电子表格可帮助您找到任何类型/大小集群的最佳配置