前言
咱们通用的IDE工具是eclipse,eclipse远程连接tomcat实现本地代码调试也是比较常见,但KYLIN的部署与一般JAVA WEB服务部署存在较大差异,eclipse远程连接KYLIN没有成功,暂时用IDEA连接远程KYLIN实现本地代码DEBUG调试的目的。
前提条件
1.远程服务器上的KYLIN已经安装成功,随时可以启动。
见下图,可以查看远程KYLIN服务。
2.本地安装IntelliJ IDEA工具,并引入了KYLIN的源码。
用idea引入maven工程的方式就可以引入kylin源码。下图是本地idea kylin源码的展示。
配置步骤
参考BLOG
https://blog.csdn.net/zhiaixiatian/article/details/102682569
可以参考如上blog,也可以看本文档。
修改脚本
因kylin是用shell脚本启动的,改kylin.sh,找到start_command字符串的拼装,添加如下行。
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
见上图,添加到org.apache.hadoop.util.RunJar ${tomcat_root}/bin/bootstrap.jar之前。
IDEA中新增remote
run --> Edit Configuration
“+” --> Remote --> 配置内容
保存配置,预览一下。
DEBUG调试
- 启动远程kylin服务,服务正常可用。目前kylin服务部署在up3机器上。
- 在idea启动中Debug,即运行kylin_link_up3的远程服务。
输出Connected to the target VM, address: 'up3:5005', transport: 'socket',表连接成功。
3.打断点,看debug效果。
访问http://xxx:7070/kylin/models
如上界面肯定有查询“models”的请求。
我们在“ModelController”这个类加上一个断点,见下图第91行加一个断点。
在浏览器,刷新一下地址 http://xxx:7070/kylin/models
如上图可见,idea进入了debug模式。
界面都处在loading状态。
F8执行完断点,界面正常展示。
在idea停止debug运行,远程kylin就可以正常操作,不受debug模式的影响。
IDEA本地远程调试kylin介绍完毕。谢谢!