Zeppelin遠程調試之旅

(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

本文到此,待閱源碼有收穫之後再回來分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章