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脚本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值