【发布时间】:2019-11-05 12:33:09
【问题描述】:
在使用静态分配进行Spark-submit 时,生成的容器数量高于 num-executors 手动提交中提到的数量。作业占用额外资源的任何具体原因。
火花 - 2.4.4
spark-submit \
--name "name" \
--master "yarn" \
--deploy-mode "cluster" \
--queue "queue" \
--driver-memory "1g" \
--executor-memory "1g" \
--num-executors "10" \
--conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=PYSPARK_PYTHON \
--conf spark.sql.autoBroadcastJoinThreshold=-1 \
--conf spark.yarn.submit.waitAppCompletion=false \
--conf spark.serializer=org.apache.spark.serializer.KryoSerializer \
--conf spark.executor.memoryOverhead=512 \
--conf spark.driver.memoryOverhead=512 \
--conf spark.sql.shuffle.partitions=100 \
--conf spark.shuffle.consolidateFiles=true \
--properties-file properties_file \
--archives ZIP_FILE \
--jars JARS
如果需要任何其他信息,请告诉我。
【问题讨论】:
-
我在你的参数中没有看到
--conf spark.dynamicAllocation.enabled=false。是否在集群范围内禁用? -
@mazaneicha 通常在进行 Spark-Submit 时,我们使用
--conf spark.dynamicAllocation.enabled=true,因为 EMR 集群是可扩展的(考虑到我觉得它的禁用集群范围很广,尽管我可以通过任何方式检查以重新确认) .但我只是在尝试使用 STATIC 删除配置,并手动提及内存和执行程序。 -
请尝试
--conf spark.dynamicAllocation.enabled=false,看看它是否有效。如果您不确定,我建议从标题中删除 STATIC(全部大写!)。 -
@mazaneicha 成功了,太棒了.. 购买方式你能告诉我如何检查是否有集群范围的动态分配打开? .. 还有任何理由要求删除标题中的 static 关键字
标签: apache-spark hadoop hadoop-yarn amazon-emr