- 點擊框框的編輯選項
- 按下圖添加遠程調試,並配置參數
- 將框裏的字符串複製出來,並在前面加固定字符串,下面是需要在FLink配置中添加的完整字符串:
env.java.opts.taskmanager: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8843
- 在Flink集羣的某一節點上(建議遠程Debug只留一個節點),找到Flink的配置文件
flink-conf.yml
,將第3步中的字符串添加進去,保存,並重啓該節點的TaskManager
服務。 - 啓動。
注意
- 如果連接超時,多半是IP地址填寫錯誤了…(別問我爲啥知道,心裏苦)
- 如果是提示
java.net.ConnectException "Connection refused: connect"
,首先先檢查端口有沒有被佔用,如果沒有被佔用,那麼恭喜,很有可能是集羣中有多個節點的配置文件中,都被添加了第3步中的配置,導致端口被重複使用了,這時候只保留其中一個節點的配置就行,其餘節點的配置文件中,把那句配置刪掉。(這個也別問我爲啥知道。)
至此遠程Debug工作就已經準備完畢了,發佈一個Job就可以愉快的調試了。(記得要保證本地的代碼和Flink上所用的代碼是一致的。)