问题排查--Kylin开启G1垃圾回收算法导致进程无法启动

Kylin的JVM参数可以通过修改$conf/setenv.sh中的KYLIN_JVM_SETTINGS参数来进行配置,默认使用的GC算法是ParNew+CMS,我们可以通过jcmd pid VM.flags来查看进程的JVM参数,如下所示:
kylin_jvm_01
最近由于查询和任务变多,Kylin节点在高峰期会出现由于GC导致服务停顿时间比较久的情况,因此准备将GC算法调整为G1,我们直接修改KYLIN_JVM_SETTINGS,如下所示:

export KYLIN_JVM_SETTINGS="-Xms128G -Xmx128G -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=90 -XX:G1NewSizePercent=5 -XX:InitiatingHeapOccupancyPercent=65 -XX:+ParallelRefProcEnabled -XX:ConcGCThreads=4 -XX:ParallelGCThreads=16 -XX:MaxTenuringThreshold=1 -XX:G1MixedGCCountTarget=64 -XX:G1OldCSetRegionThresholdPercent=5 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$KYLIN_HOME/logs/kylin.gc.$$ -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=64M"

但是在执行./kylin.sh start启动服务的时候,脚本正常执行完成,但是实际进程并没有起来。查看kylin.out日志发现如下的错误:
kylin_jvm_02
网上搜索该错误之后发现,该错误主要是由于配置了多种GC算法导致。但是我们在kylin端只配置了G1算法,所以应该是其他地方引入的。经过排查之后,我们发现在服务器上配置的$HBASE_CLIENT/conf/hbase-env.sh中存在如下的配置:
kylin_jvm_03
我们将这个地方改成如下配置:

export HBASE_OPTS="-XX:+UseG1GC"

此时再启动Kylin服务,问题解决。我们可以通过查看新进程的jvm参数,如下所示:
kylin_jvm_04

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值