ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-08-07 13:58:47  阅读:460  来源: 互联网

标签:flink IntelliJ Flink socket address suspend 调试 jdwp


在这里插入图片描述

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

在这里插入图片描述

标签:flink,IntelliJ,Flink,socket,address,suspend,调试,jdwp
来源: https://blog.csdn.net/qq_21383435/article/details/119485582

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有