flink 1.18 cdc 2.4.2 读 mysql binlog 写 kafka jar版本依赖

一.背景

在企业级数据架构中,实时数据同步是打通 "业务操作层" 与 "数据应用层" 的关键链路,而 MySQL 作为主流的关系型数据库,其产生的业务数据(如交易记录、用户操作、订单状态变更等)是实时数据处理的核心来源。Apache Flink CDC(Change Data Capture)凭借其 "无侵入式采集、低延迟同步、全量 + 增量一体化" 的特性,成为 MySQL 数据实时捕获的优选方案,能够精准解析 MySQL binlog 日志,将数据变更(插入、更新、删除)实时同步至下游系统,为实时风控、数据仓库增量同步、实时报表等场景提供数据支撑。

Kafka 作为高性能的分布式消息队列,具备高吞吐、高可用、可持久化等优势,是实时数据链路中的核心 "数据总线",能够承接 Flink CDC 同步的海量变更数据,并为下游多个消费端(如 Flink 流处理、Spark 批处理、实时分析引擎)提供高并发的数据分发服务。因此,"Flink CDC 读取 MySQL binlog 并写入 Kafka" 成为企业实时数据同步的经典架构,广泛应用于金融、电商、物流等行业的核心业务场景。

然而,在该架构落地过程中,版本依赖适配是开发者面临的核心痛点之一:

  1. 组件版本兼容性复杂:Flink CDC 与 Flink 内核、MySQL 驱动、Kafka 客户端、序列化框架(如 Avro、JSON)等组件存在严格的版本依赖关系,尤其是 Flink CDC 2.4.2 作为稳定版,对 Flink 主版本(如 1.17.x、1.18.x)、Kafka 客户端版本(如 2.8.x、3.0+)有明确适配要求,版本不匹配会直接导致 binlog 解析失败、Kafka 写入超时、序列化异常等问题;
  2. 依赖冲突频发 :不同组件的依赖包(如 guavanettyjackson 等)可能存在版本差异,若手动管理依赖,易出现类加载冲突、方法不存在等运行时异常,尤其在打包部署为 Jar 包时,需处理繁琐的依赖排除与引入逻辑;
  3. 生产环境稳定性要求高:企业级应用对数据同步的可靠性、一致性要求极高,依赖版本的不规范可能导致数据丢失、重复同步、作业频繁重启等问题,严重影响业务连续性;
  4. 开发效率低下:开发者需花费大量时间查阅官方文档、验证版本组合、排查依赖冲突,尤其是新手用户易因依赖配置错误导致项目无法运行,阻碍开发进度。

因此,明确 Flink CDC 2.4.2 读取 MySQL binlog 并写入 Kafka 场景下的标准化 Jar 版本依赖,是保障数据同步链路稳定、降低开发与运维成本的关键前提。合理的依赖配置不仅能避免版本兼容问题,还能确保 binlog 解析的准确性、Kafka 写入的高效性,为后续作业部署、扩容、维护提供可靠基础,对企业实时数据架构的落地与稳定运行具有重要的工程实践价值。

二.版本依赖

复制代码
antlr4-runtime-4.8.jar
chdfs_hadoop_plugin_network-3.1.jar
commons-codec-1.4.jar
commons-lang-2.6.jar
commons-lang3-3.12.0.jar
commons-pool2-2.10.0.jar
connect-api-3.2.0.jar*
connect-json-3.2.0.jar*
curator-client-2.12.0.jar
curator-framework-2.12.0.jar
curator-recipes-2.12.0.jar
debezium-api-1.9.7.Final.jar
debezium-core-1.9.7.Final.jar
debezium-ddl-parser-1.9.7.Final.jar
fastjson-1.2.61.jar
flink-cep-1.18.1.jar
flink-connector-debezium-2.4.2.jar
flink-connector-files-1.18.1.jar
flink-connector-kafka-3.0.2-1.18.jar
flink-connector-mysql-cdc-2.4.2.jar
flink-csv-1.18.1.jar
flink-dep-debezium-connector-mysql-1.9.7.Final.jar(由debezium-connector-mysql-1.9.7.Final.jar改名)
flink-dist_2.12-1.18.1.jar
flink-json-1.18.1.jar
flink-metrics-prometheus-1.16.3.jar
flink-scala_2.12-1.18.1.jar
flink-shaded-guava-30.1.1-jre-15.0.jar
flink-shaded-zookeeper-3-3.8.3-18.0.jar
flink-table-api-java-uber-1.18.1.jar
flink-table-planner-loader-1.18.1.jar
flink-table-runtime-1.18.1.jar
gson-2.8.6.jar
guava-31.1-jre.jar
hadoop-client-api-3.3.4.jar
hadoop-client-runtime-3.3.4.jar
hadoop-cos-3.1.0-8.2.4.jar
HikariCP-4.0.3.jar
httpclient-4.5.6.jar
httpcore-4.4.16.jar
jackson-annotations-2.12.7.jar
jackson-core-2.12.7.jar*
jackson-databind-2.12.7.2.jar
jedis-3.7.0.jar
joda-time-2.12.5.jar
kafka-clients-2.4.1.jar
log4j-1.2-api-2.17.1.jar
log4j-api-2.17.1.jar
log4j-core-2.17.1.jar
log4j-slf4j-impl-2.17.1.jar
mysql-binlog-connector-java-0.27.2.jar
mysql-connector-j-8.0.33.jar
zookeeper-3.4.14.jar
zstd-jni-1.5.2-4.jar

上述版本经过调测可以正常运行

相关推荐
Hello.Reader1 小时前
Flink SQL 语言从 DDL 到 DML,再到关键字与数据类型
sql·flink·linq
Mxsoft6191 小时前
某次实时分析延迟高,Flink事件时间窗口对齐救场!
大数据·flink
hanyi_qwe1 小时前
MySQL数据库管理
数据库·mysql
想不明白的过度思考者1 小时前
MySQL数据库(库)操作精讲:从入门到精通
数据库·mysql·oracle
写bug的小屁孩1 小时前
1.Kafka-快速认识概念
java·分布式·kafka
Coder-coco10 小时前
个人健康管理|基于springboot+vue+个人健康管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·mysql·论文
g***727010 小时前
【mysql】导出导入mysql表结构或者数据
数据库·mysql
计算机毕设小月哥11 小时前
【Hadoop+Spark+python毕设】中国租房信息可视化分析系统、计算机毕业设计、包括数据爬取、Spark、数据分析、数据可视化、Hadoop
后端·python·mysql
j***576811 小时前
【MySQL】mysqldump使用方法
数据库·mysql·oracle