Flink SQL Client执行SQL报错求助:Debezium依赖版本冲突问题
解决Flink SQL Client与Debezium依赖冲突的方案
核心问题
你遇到的类找不到、字段缺失问题,本质是手动引入的Debezium版本与Flink 1.15不兼容,且Debezium预发布版(alpha/beta)API不稳定导致的依赖冲突。
解决方案
清理冲突依赖
移除Flinklib目录下所有自行下载的debezium-core-*.jar文件,避免不同版本的Debezium类互相干扰。使用官方兼容的Flink CDC连接器
Flink CDC已经封装了适配对应Flink版本的Debezium依赖,无需单独引入Debezium jar:- 下载适配Flink 1.15的Flink CDC MySQL连接器稳定版,比如
flink-connector-mysql-cdc-2.2.1.jar(该版本与Flink 1.15完全兼容)。 - 将下载好的jar包放入Flink的
lib目录。
- 下载适配Flink 1.15的Flink CDC MySQL连接器稳定版,比如
重启服务并验证
重启Flink SQL Client,重新执行你的CREATE TABLE和SELECT * FROM products语句。
额外检查
确保你的CREATE TABLE语句配置正确,示例格式如下:
CREATE TABLE products ( id INT PRIMARY KEY NOT ENFORCED, name STRING, price DECIMAL(10,2) ) WITH ( 'connector' = 'mysql-cdc', 'hostname' = 'localhost', 'port' = '3306', 'username' = 'root', 'password' = 'your-password', 'database-name' = 'your-db', 'table-name' = 'products' );
内容的提问来源于stack exchange,提问作者Fortuna Archeryn
相关产品推荐
相关产品推荐

