apachespark:设置执行器示例

inkz8wg9  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(468)

我使用以下参数在Yarn上运行spark应用程序:
在spark-defaults.conf中:

spark.master yarn-client
spark.driver.cores 1
spark.driver.memory 1g
spark.executor.instances 6
spark.executor.memory 1g

在yarn-site.xml中:

yarn.nodemanager.resource.memory-mb 10240

所有其他参数都设置为默认值。
我有一个6节点的集群,每个节点上都安装了spark客户端组件。每次运行应用程序时,spark ui中只有2个执行器和1个驱动程序可见。执行器出现在不同的节点上。
为什么spark不能创建更多的执行者?为什么只有2而不是6?
我发现了一个非常类似的问题:apachespark:设置executor示例不会更改executors,但是增加memoty mb参数对我的情况没有帮助。

8gsdolmq

8gsdolmq1#

配置乍一看还行。
确保已覆盖正确的spark-defaults.conf文件。
执行 echo $SPARK_HOME 并验证修改后的spark defaults文件是否在$spark\u home/conf/目录中。否则spark看不到您的更改。
我修改了错误的spark-defaults.conf文件。我的系统中有两个用户,每个用户都有一个不同的$spark\u主目录集(我以前不知道)。这就是为什么我看不到我的设置对其中一个用户的任何影响。
你可以运行你的sparkshell或者sparksmit和一个参数 --num-executors 6 (如果你想有6个遗嘱执行人)。如果spark创建的执行器比以前多,您可以肯定,这不是内存问题,而是无法读取的配置问题。

相关问题