【发布时间】:2019-06-17 17:30:13
【问题描述】:
我有一个 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-site.xml中yarn.nodemanager.resource.memory-mb的值是多少??
-
Yarn.nodemanager.resource.memory-mb 是 12GiB