Apache Spark:设置执行器实例



我在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 Client组件。每次我运行应用程序时,在Spark UI中只能看到2个执行器和1个驱动程序。执行器出现在不同的节点上。

为什么Spark不能创建更多的执行器?为什么只有2个而不是6个?

我发现了一个非常类似的问题:Apache Spark:设置executor实例不会改变executor,但是增加memory -mb参数对我的情况没有帮助。

配置第一眼看起来不错。

确保您已经覆盖了正确的spark-defaults.conf文件。

如果修改后的spark-defaults文件在"$SPARK_HOME/conf/"目录下,执行echo $SPARK_HOME检查。否则Spark将无法看到您的更改。

我修改了错误的spark-defaults.conf文件。我的系统中有两个用户,每个用户都有一个不同的$SPARK_HOME目录集(我以前不知道)。这就是为什么我无法看到我的设置对其中一个用户的任何影响。

你可以运行你的spark-shell或spark-submit参数--num-executors 6(如果你想有6个执行器)。如果Spark创建了比以前更多的执行器,您可以肯定,这不是内存问题,而是不可读配置的问题。

相关内容

  • 没有找到相关文章

最新更新