Flink CDC 3.0 本地调试

前言

flink cdc 本地调试官方没有特别说明,这里记录下。

调试流程

1. 拉取代码本地打包

通过 github 拉取3.0.0 以上版本,本地maven打包 mvn clean package -DskipTests

2. 配置启动参数

搜索启动类CliFrontend,修改运行配置。

需要配置环境变量FLINK_HOMEpipeline connector依赖包flink-dist 包,以及指定配置文件,--use-mini-cluster true 代表使用 local 集群。

vm options 可以通过classpath添加环境变量, 注意 本地local模式,运行,需要依赖flink环境,如果connector依赖hadoop相关依赖,还需要加hadoop相关依赖。但是提交到flink集群上运行不需要指定了,可以参考 flink-cdc.sh 提交逻辑。

本地debug vm options如下:

shell 复制代码
-classpath /Users/Projects/flink-cdc/flink-cdc-connectors/flink-cdc-dist/target/flink-cdc-dist-3.0-SNAPSHOT.jar:/Users/Projects/flink-cdc/flink-cdc-connectors/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/target/flink-cdc-pipeline-connector-mysql-3.0-SNAPSHOT.jar:/Users/Projects/flink-cdc/flink-cdc-connectors/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-paimon/target/flink-cdc-pipeline-connector-paimon-3.0-SNAPSHOT.jar:/Users/software/flink-1.18.1/lib/flink-dist-1.18.1.jar:/Users/software/flink-1.18.1/lib/flink-table-runtime-1.18.1.jar:/Users/software/flink-1.18.1/lib/flink-table-planner-loader-1.18.1.jar:/Users/software/flink-1.18.1/lib/flink-cep-1.18.1.jar:/Users/software/flink-1.18.1/lib/flink-connector-files-1.18.1.jar:/Users/software/flink-1.18.1/lib/flink-csv-1.18.1.jar:/Users/software/flink-1.18.1/lib/flink-json-1.18.1.jar:/Users/software/flink-1.18.1/lib/flink-table-api-java-uber-1.18.1.jar:/Users/software/hadoop-2.8.5/etc/hadoop:/Users/software/hadoop-2.8.5/share/hadoop/common/lib/*:/Users/software/hadoop-2.8.5/share/hadoop/common/*:/Users/software/hadoop-2.8.5/share/hadoop/hdfs:/Users/software/hadoop-2.8.5/share/hadoop/hdfs/lib/*:/Users/software/hadoop-2.8.5/share/hadoop/hdfs/*:/Users/software/hadoop-2.8.5/share/hadoop/yarn/lib/*:/Users/software/hadoop-2.8.5/share/hadoop/yarn/*:/Users/software/hadoop-2.8.5/share/hadoop/mapreduce/lib/*:/Users/software/hadoop-2.8.5/share/hadoop/mapreduce/*:/contrib/capacity-scheduler/*.jar:/Users/Projects/flink-cdc/flink-cdc-connectors/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-values/target/flink-cdc-pipeline-connector-values-3.0-SNAPSHOT.jar --add-exports java.base/jdk.internal.misc=ALL-UNNAMED  --add-modules=jdk.unsupported --add-opens=java.base/sun.nio.ch=ALL-UNNAMED 

mysql-to-paimin.yaml

yaml 复制代码
source:
  type: mysql
  hostname: localhost
  port: 3306
  username: root
  password: root
  tables: cdc.cdc_test

sink:
  type: paimon
  commit.user: test
  catalog.properties.warehouse: ./path

pipeline:
  name: mysql-sync-paimon
  parallelism: 1

本地运行,如果需要依赖 checkpoint做两阶段提交,需要做cp指定,目前 --use-mini-cluster true 模式,默认没有配置 cp。 本地依赖的flink环境所配置的 config在 use-mini-cluster 模式没有使用。

本地执行debug, 可以手动加上cp相关改动

相关推荐
明月与玄武16 分钟前
快速掌握Django框架设计思想(图解版)
后端·python·django
陪我一起学编程17 分钟前
关于ORM增删改查的总结——跨表
数据库·后端·python·django·restful
南囝coding23 分钟前
这个 361K Star 的项目,一定要收藏!
前端·后端·github
虎鲸不是鱼44 分钟前
Spring Boot3流式访问Dify聊天助手接口
java·spring boot·后端·大模型·llm
onlooker666644 分钟前
Go语言底层(五): 深入浅出Go语言的ants协程池
开发语言·后端·golang
武子康1 小时前
Java-46 深入浅出 Tomcat 核心架构 Catalina 容器全解析 启动流程 线程机制
java·开发语言·spring boot·后端·spring·架构·tomcat
寻月隐君2 小时前
Solana 开发实战:Rust 客户端调用链上程序全流程
后端·rust·web3
丘山子2 小时前
别再滥用 None 了!这才是 Python 处理缺失值的好方法
后端·python·面试
error_cn3 小时前
postgresql视图与触发器
后端
知秋丶3 小时前
Spring-rabbit重试消费源码分析
java·后端·spring