问题描述
如何使用Spark on Yarn的额外java选项增加Java堆空间?
到目前为止,这段代码是有效的:
./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这样的东西。 任何人都可以告诉我,我做错了吗?
1楼
首先,使用该命令的方法如下。
--conf spark.executor.extrajavaoptions="Option" [Cluster]
--conf spark.yarn.am.extraJavaOptions="Option" [YARN]
但请注意,
根据Spark 文档
spark.executor.extraJavaOptions
要传递给执行程序的一串额外JVM选项。 例如,GC设置或其他日志记录。 请注意,使用此选项设置Spark属性或堆大小设置是非法的。 应使用SparkConf对象或spark-submit脚本使用的spark-defaults.conf文件设置Spark属性。 可以使用spark.executor.memory设置堆大小设置。
您不应使用此选项设置堆大小设置。您可以在spark-defaults脚本中配置它们。
示例布局可以在这里找到: