本地调试
下载最新的master分支代码:
git clone https://github.com/apache/incubator-livy.git
- 从inteleJ中打开项目,需要等待livy解析依赖。
找到运行入口
通过查看 bin/livy-server 看到从脚本执行的Java类是:org.apache.livy.server.LivyServer
` command=”$RUNNER $LIVY_SERVER_JAVA_OPTS -cp $LIVY_CLASSPATH:$CLASSPATH org.apache.livy.server.LivyServer”`
设置环境变量
指定日志文件
问题:
- 启动的时候 incubator-livy/conf/log4j.properties 读不到
- ‘edit configuration’指定日志文件也不行。
解决方法:
要输出日志可以:
cp incubator-livy/conf/log4j.properties incubator-livy/server/src/main/resources/
运行
接下来可以打上短点,debug运行,
远程调试
本地调试可以测试LivyClient到 LivyServer这段。当LivyServer连接安全的大数据集群的时候,会变得棘手。
- 需要本地电脑加入到安全集群所在的域。
- macOS要想加入域涉及到一系列的本地系统修改。代价有点大。
参考
- https://linuxguideandhints.com/centos/freeipa.html#mac-clients
- https://rcritten.wordpress.com/2018/11/27/setting-up-a-mac-osx-as-an-ipa-client/
而远程调试的一个好处:IDE所在的主机不用在域里面就可以访问其他服务。
-
IDE内
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
-
LivyServer
修改 bin/LivyServer
command="$RUNNER $LIVY_SERVER_JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -cp $LIVY_CLASSPATH:$CLASSPATH org.apache.livy.server.LivyServer"
- 启动livyserver
- IDE内启动
Connected to the target VM, address: '192.168.1.111:5005', transport: 'socket'
参考:IDEA 远程调试