java - 增加 Spark on Yarn 中的 Java 堆大小

标签 java apache-spark out-of-memory hadoop-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。默认为无。我知道它应该是一串额外的 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

关于java - 增加 Spark on Yarn 中的 Java 堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31463382/

相关文章:

python - 使用 pyspark 中的 RDD 从字典创建数据框

apache-spark - 如何修复 'java.lang.NoClassDefFoundError: io/fabric8/kubernetes/api/model/apps/Deployment'

java - 线程 OutOfMemoryError,强制关闭

java - 使用带注释的 Hibernate 的复杂主键

java - 在Java中打印文本文件的确切内容

apache-spark - Spark 错误和hadoop错误

android - 强制关闭应用程序

java - 在 Eclipse 中启动一个简单的 Maven 项目的问题?

java - 如何从流中获取列表列表而不是数组列表?

java - MapFragment - Google map 内存不足错误