【flink】Flink 使用IntelliJ IDEA 进行远程调试代码

837 篇文章 834 订阅 ¥99.90 ¥99.00

在这里插入图片描述

1.概述

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

改文章和 95-070-040-源码-源码调试-FLINK源代码调试方式 重复了。

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操作了…

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值