Zeppelin远程调试之旅

时间:2022-09-03 20:45:18

(1)磨刀不误砍柴工,首先配置调试环境:

zeppelin安装参见:https://blog.csdn.net/dax1n/article/details/57079534

配置远程调试环境:

export ZEPPELIN_JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=11000"

如上代码配置远程debug参数,监听端口11000。

(2)远程调试之小试牛刀

可以将源码下载导入IDE,但是这种方案一般效率较低,最高的方案是使用Maven引入相应Zeppelin依赖搭建本地IDE调试环境。接下来使用IDEA创建一个远程调试的Application,具体请百度。之后启Zeppelin,这边IDE启动Debug即可。


(3)Zeppelin启动之必经之路(ZeppelinServer)

Zeppelin启动远程启动Zeppelin就是调用ZeppelinServer#main函数启动,因此我们可以在main打断点开启Zeppelin的远程调试之旅。


(4)Zeppelin调试向导

Zeppelin通常以便捷的notebook吸引用户,用户借助notebook提交作业到Server,同时协议是借助Websocket协议,通信关键方法如下:

org.apache.zeppelin.socket.NotebookSocket#onWebSocketText

如上方法接受noteboook发来的job,也接受心跳验证notebook的存活状态。关于消息的进一步处理调用如下方法:

org.apache.zeppelin.socket.NotebookServer#onMessage

本文到此,待阅源码有收获之后再回来分享。