FLINK有两种比较好的调试方式
第一种,直接通过IDEA WINDOWS调试
前提是Flink所有依赖已经导入,直接在Test中打断点,然后直接Debug。
第二种,远程调试
-
1 设置DEBUG时候启动的jvm调试参数
1.如果是yarn的模式直接在conf/flink-conf.yaml 目录下添加
"env.java.opts: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=9098"
但是这里有bug,详情请看FLINK-53242 如果是local模式或者standalone,可以直接在conf/config.sh添加 export JVM_ARGS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=9098"
2 设置断点
-
3 启动应用
nc -lp 9099
bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9099然后程序会卡住等待IDEA连接
-4 IDEA连接
- 5 下面就可以进行调试了