在 Spark on Yarn 中增加 Java 堆大小

Increase Java Heap Size in Spark on Yarn

如何使用 Spark on Yarn 的额外 java 选项增加 Java 堆 Space?

这段代码是我目前有效的代码:

./bin/spark-shell --master yarn-client --num-executors 10 --executor-memory 4g

这是行不通的:

./bin/spark-shell --master yarn-client --num-executors 10 --executor-memory 4g --extrajavaoptions '-Xmx2g'

我要添加spark.yarn.am.extraJavaOptions。默认值为 none。我知道它应该是一串额外的 JVM 选项,以客户端模式传递给 YARN Application Master。我想输入类似 -Xmx2g 的内容。谁能告诉我我做错了什么?

首先,命令的使用方法如下

--conf spark.executor.extrajavaoptions="Option" [Cluster]
--conf spark.yarn.am.extraJavaOptions="Option" [YARN]

但请注意,

根据 Spark configuration 文档

spark.executor.extraJavaOptions

A string of extra JVM options to pass to executors. For instance, GC settings or other logging. Note that it is illegal to set Spark properties or heap size settings with this option. Spark properties should be set using a SparkConf object or the spark-defaults.conf file used with the spark-submit script. Heap size settings can be set with spark.executor.memory.

您不应使用此选项设置堆大小设置。相反,您可以在 spark-defaults 脚本中配置它们。

示例布局可在此处找到:Git repo