flinkFlink 使用IntelliJ IDEA 进行远程调试代码

Posted 九师兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flinkFlink 使用IntelliJ IDEA 进行远程调试代码相关的知识,希望对你有一定的参考价值。

1.概述

转载:Flink 使用IntelliJ IDEA 进行远程调试代码

Flink on Yarn 不好调试, 所以需要用到远程调试.

注意 : 开启远程调试的代码,必须与本地idea的代码必须保持一致.

二 .服务器端配置.

2.1. 设置启动远程debug端口

修改 服务器上的配置文件 ${FLINK_HOME}/flink-config.yaml 增加 环境变量即可.

参考的设置

组件环境变量设置
Clientenv.java.opts.client: -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5666
JobManagerenv.java.opts.jobmanager: -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
TaskManagerenv.java.opts.taskmanager: -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5006

2.2. 具体操作

编辑服务器上的配置文件[ ${FLINK_HOME}/flink-config.yaml 随便加上一行[记住端口!!!]:


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

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


suspend : 是否阻塞, 如果是调试启动的话, 建议设置成 y .
address : 调试的远程端口 5005

调试JobManager的话,要注意设置一下超时时间.

修改 配置文件[ ${FLINK_HOME}/flink-config.yaml 增加一行代码:

# 设置超时 时间 . 单位 毫秒.
rest.connection-timeout: 360000000
rest.idleness-timeout: 360000000

启动服务即可 [启动完, JVM返现有jdwp的配置,会自动阻塞, 等到idea调试连接.].
因为我要调试的是JobManager .
所以启动命令为:

cd ${FLINK_HOME}/bin


# 启动任务

flink run -t yarn-per-job -c org.apache.flink.streaming.examples.socket.SocketWindowWordCount examples/streaming/SocketWindowWordCount.jar --port 9999


查看日志
为了便于观察报错信息 . 打开JobManager相关的 日志, 使用命令进行查看就可以了.

到这里,服务端配置就完成了.

三 .Idea配置

将与服务器同步的代码导入到idea中, 导入完成, 不编译,不管报错信息…
只要导入到idea , 等idea自己构建完就可以了…

3.1. 配置远程连接

-点击 Edit Configurations…


建立远程debug就可以了
主要是端口一定要跟服务端配置的端口要匹配.


第0步, 选择Remote 的截图.

3.3. 启动调试

-选择刚才的配置,启动debug调试即可. 然后就可以等待连接到服务器,进行DEBUG操作了…

以上是关于flinkFlink 使用IntelliJ IDEA 进行远程调试代码的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Ant 构建 Android 项目? (IntelliJ IDE)

使用intelliJ IDE开发java web项目

常用IDE 教程(IntelliJ IDEAAndroid StudioChrome)

spring-boot 热部署 intellij IDE

IDE神器intellij idea的基本使用

jdk intellij ide 安装