- 点击框框的编辑选项
- 按下图添加远程调试,并配置参数
- 将框里的字符串复制出来,并在前面加固定字符串,下面是需要在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上所用的代码是一致的。)