对于-Xmx,-Xms ,
yarn-client模式,则默认读取spark-env文件中的SPARK_DRIVER_MEMORY参数值;
yarn-cluster模式,则默认读取的是spark-default.conf文件中的spark.driver.extraJavaOptions对应的JVM参数值。
对于PermSize,
yarn-client模式,则是默认读取spark-class文件中的JAVA_OPTS设置的值;
yarn-cluster模式,则默认读取的是spark-default.conf文件中的spark.driver.extraJavaOptions对应的JVM参数值。
对于GC方式,
yarn-client模式,则默认读取的是spark-class文件中的JAVA_OPTS设置的值;
yarn-cluster模式,则默认读取的是spark-default.conf文件中的值
注意,如果想改变值,则可通过在spark-submit时添加--conf "spark.driver.extraJavaOptions=${java_options}"
此外,spark-submit命令行提交时如果使用了参数--driver-java-options,则将覆盖上面的设置值
--driver-java-options "${java_options}" \
2.Executor端的JVM参数:
对于-Xmx,-Xms,
yarn-client模式,则默认读取spark-env文件中的SPARK_EXECUTOR_MEMORY值,
yarn-cluster模式,则默认读取的是spark-default.conf文件中的spark.executor.extraJavaOptions对应的JVM参数值。
对于PermSize,
yarn-client模式,则默认读取park-default.conf文件中的spark.executor.extraJavaOptions对应的JVM参数值。
yarn-cluster模式,则默认读取park-default.conf文件中的spark.executor.extraJavaOptions对应的JVM参数值。
对于GC方式,
yarn-client模式,则默认读取park-default.conf文件中的spark.executor.extraJavaOptions对应的JVM参数值。
yarn-cluster模式,则默认读取park-default.conf文件中的spark.executor.extraJavaOptions对应的JVM参数值。
最后需要注意的是在用spark-submit提交job的时候最好把jar放在参数最后,如spark-submit xxxx jarname