gpt4 book ai didi

apache-spark - Apache 星火 : setting executor instances does not change the executors

转载 作者:行者123 更新时间:2023-12-03 20:00:07 26 4
gpt4 key购买 nike

我有一个 Apache Spark 应用程序在集群模式下运行在 YARN 集群上(spark 在这个集群上有 3 个节点)。

当应用程序运行时,Spark-UI 显示 2 个执行程序(每个运行在不同的节点上)和驱动程序正在第三个节点上运行。
我希望应用程序使用更多执行器,因此我尝试将参数 --num-executors 添加到 Spark-submit 并将其设置为 6。
spark-submit --driver-memory 3G --num-executors 6 --class main.Application --executor-memory 11G --master yarn-cluster myJar.jar <arg1> <arg2> <arg3> ...
但是,执行者的数量仍然是 2。

在 spark UI 上,我可以看到参数 spark.executor.instances 是 6,正如我所期望的那样,并且不知何故仍然只有 2 个执行程序。

我什至尝试从代码中设置此参数

sparkConf.set("spark.executor.instances", "6")

同样,我可以看到参数设置为 6,但仍然只有 2 个执行程序。

有谁知道为什么我不能增加我的执行人的数量?

yarn.nodemanager.resource.memory-mb 在 yarn-site.xml 中是 12g

最佳答案

增加yarn.nodemanager.resource.memory-mbyarn-site.xml
每个节点 12g,您只能启动驱动程序(3g)和 2 个执行程序(11g)。

Node1 - 驱动程序 3g(+7% 开销)

Node2 - executor1 11g(+7% 开销)

Node3 - executor2 11g(+7% 开销)

现在您正在请求 11g 的 executor3 并且没有节点有 11g 内存可用。

对于 7% 的开销,请参阅 https://spark.apache.org/docs/1.2.0/running-on-yarn.html 中的 spark.yarn.executor.memoryOverhead 和 spark.yarn.driver.memoryOverhead

关于apache-spark - Apache 星火 : setting executor instances does not change the executors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29940711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com