如何使用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这样的东西。谁能告诉我,我做错了什么?
答案 0 :(得分:3)
首先,使用该命令的方法如下。
--conf spark.executor.extrajavaoptions="Option" [Cluster]
--conf spark.yarn.am.extraJavaOptions="Option" [YARN]
但请注意,
根据Spark configuration文档
spark.executor.extraJavaOptions
要传递给执行程序的一串额外JVM选项。例如,GC设置或其他日志记录。请注意,使用此选项设置Spark属性或堆大小设置是非法的。应使用SparkConf对象或spark-submit脚本使用的spark-defaults.conf文件设置Spark属性。可以使用spark.executor.memory设置堆大小设置。
您不应使用此选项设置堆大小设置而是可以在 spark-defaults 脚本中配置它们。
示例布局可以在这里找到:Git repo