当前位置:   article > 正文

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

spark-history设置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脚本。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/66425
推荐阅读
相关标签
  

闽ICP备14008679号