在纱线上增加Spark中的Java堆大小

时间:2015-07-16 19:55:30

标签: java apache-spark out-of-memory yarn

如何使用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 个答案:

答案 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