前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flink SQL Client远程调试指南

Flink SQL Client远程调试指南

作者头像
从大数据到人工智能
发布2022-09-09 11:22:43
1.5K0
发布2022-09-09 11:22:43
举报
文章被收录于专栏:大数据-BigData

在使用Flink SQL过程中,SQL Client想必大家都是非常熟悉的,本文介绍基于IDEA的SQL Client远程调试方法。

前提:本文使用的Flink版本为1.14.4,其他版本调试方法也一样。

翻看sql-client.sh脚本,其实里面的内容就是执行SqlClient这个主类。

代码语言:javascript
复制
# check if SQL client is already in classpath and must not be shipped manually
if [[ "$CC_CLASSPATH" =~ .*flink-sql-client.*.jar ]]; then

    # start client without jar
    exec "$JAVA_RUN" $JVM_ARGS "${log_setting[@]}" -classpath "`manglePathList "$CC_CLASSPATH:$INTERNAL_HADOOP_CLASSPATHS"`" org.apache.flink.table.client.SqlClient "$@"

# check if SQL client jar is in /opt
elif [ -n "$FLINK_SQL_CLIENT_JAR" ]; then

    # start client with jar
    exec "$JAVA_RUN" $JVM_ARGS "${log_setting[@]}" -classpath "`manglePathList "$CC_CLASSPATH:$INTERNAL_HADOOP_CLASSPATHS:$FLINK_SQL_CLIENT_JAR"`" org.apache.flink.table.client.SqlClient "$@" --jar "`manglePath $FLINK_SQL_CLIENT_JAR`"

# write error message to stderr
else
    (>&2 echo "[ERROR] Flink SQL Client JAR file 'flink-sql-client*.jar' neither found in classpath nor /opt directory should be located in $FLINK_OPT_DIR.")

    # exit to force process failure
    exit 1
fiCOPY

所以我们只需要在这个脚本里面加上调试参数,然后IDEA开启调试模式即可。具体步骤如下:

下载Flink二进制包与源码,将二进制包放到linux服务器执行,源码用IDEA打开。

linux服务器中启动单节点模式的flink standalone集群

代码语言:javascript
复制
bin/jobmanager start
bin/taskmanager startCOPY

以及在bin/sql-client.sh加上如下调试参数:

代码语言:javascript
复制
JVM_ARGS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005COPY

并启动sql-client

代码语言:javascript
复制
bin/sql-client.shCOPY

可以看到监听5005端口

IDEA中配置如下:

开启debug并在CliClient.java的如下位置打断点

然后在sql-client中输入select 1,即可进入上述断点位置:

接下来便可以愉快调试了。

本文为从大数据到人工智能博主「xiaozhch5」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://cloud.tencent.com/developer/article/2101186

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
远程调试
远程调试(Remote Debugging,RD)在云端为用户提供上千台真实手机/定制机/模拟器设备,快速实现随时随地测试。运用云测技术对测试方式、操作体验进行了优化,具备多样性的测试能力,包括随时截图和记录调试日志,稳定的支持自动化测试, 设备灵活调度,用例高效执行, 快速定位产品功能和兼容性问题。云手机帮助应用、移动游戏快速发现和解决问题,节省百万硬件费用,加速敏捷研发流程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档