如何调试Kylin源码

1 Kylin运行的几个部分

1.1 Tomcat配置系统

大家知道, Kylin有一个比较友好的对外Web配置系统, 底层是基于tomcat的服务.

1.2 Shell程序

Kylin在运行一些与Hive, HBase的命令时,是使用shell命令直接执行的.

1.3 分布式计算

1.5之前, Kylin的底层系统使用的是MR; 1.5以后, Kylin支持了Spark等分布式计算系统.

2 调试方法

由于配置系统是比较核心的模块, 集中了大部分的Kylin的逻辑, 会对Cube进行各种设置, 对计算任务进行配置等, 所以本文主要讲解如何调试配置系统的源码。MR和Spark的调试,后面可以补上。

kylin系统的启动,是通过sh kylin.sh start命令执行的,那么调试开关的设置,主要是修改kylin.sh这个脚本.

2.1 添加调试开关

修改kylin.sh这个脚本:

hbase ${KYLIN_EXTRA_START_OPTS} \
     -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
     -Dlog4j.configuration=kylin-server-log4j.properties \
     -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH= true  \
     -Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH= true  \
     -Djava.endorsed.dirs=${tomcat_root}/endorsed  \
     -Dcatalina.base=${tomcat_root} \
     -Dcatalina.home=${tomcat_root} \
     -Djava.io.tmpdir=${tomcat_root}/temp  \
     -Dkylin.hive.dependency=${hive_dependency} \
     -Dkylin.hbase.dependency=${hbase_dependency} \
     -Dkylin.rest.address=${kylin_rest_address} \
     -Dspring.profiles.active=${spring_profile} \
     -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address= 9001  \
     org.apache.hadoop.util.RunJar ${tomcat_root}/bin/bootstrap.jar  org.apache.catalina.startup.Bootstrap start >> ${KYLIN_HOME}/logs/kylin.out  2 >& 1  & echo $! > ${KYLIN_HOME}/pid &

添加倒数第二行的-Xdebug那行, 指明了调试端口为9001.

2.2 运行并连接

执行: sh kylin.sh start

可以在 /Users/cuiyang_mt/worktools/apache-kylin-1.5.4.1-bin/logs/kylin.out中看到进程正在监听9001:

    Listening for transport dt_socket at address: 9001

然后就可以用eclipse或者IDEA等开发工具连接调试了:

    

调试界面如下:

    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值