EMR Spark作业使用的执行程序少于集群中的节点

时间:2018-01-29 15:36:29

标签: apache-spark emr

我已经建立了一个由1 m4large驱动程序和3 m4large节点组成的测试集群。在不向spark-submit添加任何额外配置参数的情况下,我想测试此群集配置。但是,当我检查Spark UI时,我可以看到我的Spark作业只使用了2个执行器,我还注意到Ganglia中有一个节点几乎没有做任何事情(比如它根本就没用过)。

如何确保所有节点都完成任务?

1 个答案:

答案 0 :(得分:2)

除非您指定执行者的数量spark-submitexecutor-core,否则

executor-memory不会使用整个群集。默认情况下,它使用spark默认配置中指定的配置。您可以在spark安装目录中的spark-defaults.conf文件中看到默认配置。

现在默认情况下,spark-submit在执行程序中使用2个执行程序512MB内存。因此,如果您想要整个集群,请使用spark-submit命令并指定executor-core和executor-memory。

您可以找到示例here