java 启动spark,spark各类节点启动JVM设置

最近遇到的一个问题,spark job history 经常很卡,看了下内存情况。默认是看了1G,-Xmx1g.

仔细研究它的启动脚本,死活没看到哪里设置了这个1G的内存大小,只能通过bash -x 的方式来定位问题。

bash -x /data/service/spark//bin/spark-class org.apache.spark.deploy.history.HistoryServer

发现启动的时候是通过 org.apache.spark.launcher.Main 这个类来初始化,具体是在SparkClassCommandBuilder中初始化。

找到找到了恶心的初始化方式,为什么不在shell中设置???? 非要看代码才知道是怎么搞的。

在spark-env.sh 里面添加

export SPARK_DAEMON_MEMORY=”8g”

问题解决

org.apache.spark.deploy.master.Master

SPARK_DAEMON_JAVA_OPTS: 设置通用JVM参数

SPARK_MASTER_OPTS : 设置master 参数

SPARK_DAEMON_MEMORY : JVM启动内存

org.apache.spark.deploy.worker.Worker

SPARK_DAEMON_JAVA_OPTS:设置通用JVM参数

SPARK_WORKER_OPTS : 执行节点参数

SPARK_DAEMON_MEMORY :JVM启动内存

org.apache.spark.deploy.history.HistoryServer

SPARK_DAEMON_JAVA_OPTS

SPARK_HISTORY_OPTS

SPARK_DAEMON_MEMORY:JVM启动内存

org.apache.spark.executor.CoarseGrainedExecutorBackend

SPARK_EXECUTOR_OPTS

SPARK_EXECUTOR_MEMORY : JVM启动内存

org.apache.spark.deploy.mesos.MesosClusterDispatcher

SPARK_DAEMON_JAVA_OPTS

org.apache.spark.deploy.ExternalShuffleService

SPARK_DAEMON_JAVA_OPTS

SPARK_SHUFFLE_OPTS

SPARK_DAEMON_MEMORY

其它

SPARK_JAVA_OPTS

SPARK_DRIVER_MEMORY:JVM启动内存

内存的设置代码

String mem = firstNonEmpty(memKey != null ? System.getenv(memKey) : null, DEFAULT_MEM);

cmd.add("-Xmx" + mem);

真的不感觉这种方式好,业界通用的做法是shell或者是pyhon脚本。

最近遇到的一个问题,spark job history 经常很卡,看了下内存情况。默认是看了1G,-Xmx1g. 仔细研究它的启动脚本,死活没看到哪里设置了这个1G的内存大小,只能通过bash -x 的方式来定位问题。 bash -x /data/service/spark//bin/spark-class org.apache.spark.deploy.history.HistoryServer 发现启动的时候是通过 org.apache.spark.launcher.Main 这个类来初始化,具体是在SparkClassCommandBuilder中初始化。 找到找到了恶心的初始化方式,为什么不在shell中设置???? 非要看代码才知道是怎么搞的。 在spark-env.sh 里面添加 export SPARK_DAEMON_MEMORY=”8g” 问题解决 org.apache.spark.deploy.master.Master SPARK_DAEMON_JAVA_OPTS: 设置通用JVM参数 SPARK_MASTER_OPTS : 设置master 参数 SPARK_DAEMON_MEMORY : JVM启动内存 org.apache.spark.deploy.worker.Worker SPARK_DAEMON_JAVA_OPTS:设置通用JVM参数 SPARK_WORKER_OPTS : 执行节点参数 SPARK_DAEMON_MEMORY :JVM启动内存 org.apache.spark.deploy.history.HistoryServer SPARK_DAEMON_JAVA_OPTS SPARK_HISTORY_OPTS SPARK_DAEMON_MEMORY:JVM启动内存 org.apache.spark.executor.CoarseGrainedExecutorBackend SPARK_EXECUTOR_OPTS SPARK_EXECUTOR_MEMORY : JVM启动内存 org.apache.spark.deploy.mesos.MesosClusterDispatcher SPARK_DAEMON_JAVA_OPTS org.apache.spark.deploy.ExternalShuffleService SPARK_DAEMON_JAVA_OPTS SPARK_SHUFFLE_OPTS SPARK_DAEMON_MEMORY 其它 SPARK_JAVA_OPTS SPARK_DRIVER_MEMORY:JVM启动内存 内存的设置代码 String mem = firstNonEmpty(memKey != null ? System.getenv(memKey) : null, DEFAULT_MEM); cmd.add("-Xmx" + mem); 真的不感觉这种方式好,业界通用的做法是shell或者是pyhon脚本。
经验分享 程序员 微信小程序 职场和发展