IntelliJ IDEA 遠程調試 Flink的方法

環境說明:

  flink 集羣運行在centos8 下, idea 運行在windows10 下.

Flink 集羣開啓調試功能

在文件 flink-conf.yaml 添加兩行配置:

# jobmanager debug端口
env.java.opts.jobmanager: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5006"
# taskmanager debug端口
env.java.opts.taskmanager: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"

idea配置

1 配置remote:

如上圖所示,點擊Edit Configurations,進入如下界面:

如上圖所示,我們進入了Run/Debug Configurations界面,然後點擊左上角的+,選擇Remote:

標註 1:名稱,自定;
標註 2:調試模式,默認爲Attach;
標註 3:傳輸方式,默認爲Socket;
標註 4:服務端 IP 地址,默認爲localhost,修改爲對應flink集羣運行的 IP 地址;
標註 5:服務器端口號,默認爲5005,修改爲flink集羣任務端口5006,參見flink集羣debug配置;
標註 6:使用默認即可,其中端口號根據標註5的值自動更新。
標註 7:對應發佈的module名稱。

補充說明:
如上圖所示,其中 標註 2 和 標註 3 又分別有兩種分類,對於 標註 2

標註 2:調試模式,默認爲Attach;
Attach:此種模式下,調試服務端(被調試遠程運行的機器)啓動一個端口等待我們(調試客戶端)去連接;
Listen: 此種模式下,是我們(調試客戶端)去監聽一個端口,當調試服務端準備好了,就會進行連接。

2 設置完成後,點擊Debug按鈕運行,如果連接成功,則會出現如下提示:


idea端操作

在需要調試的源碼加上斷點,等候操作

flink集羣操作

在集羣端提交運行要調試的任務(與要調試的源碼與jar最好一致,否則容易錯位)

線程並行調試設置

 如調試時,不想影響其他線程,可在斷點上右鍵,勾上Thread選項即可,這樣就不會阻塞.

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