Flink CDC和mysql-connector-java依赖冲突导致没有输出

项目场景:

Flink使用cdc读取mysql配置信息

问题描述

print没有输出

java 复制代码
    public static MySqlSource<String> getMySqlCDCSource() {
        Map<String, Object> config = new HashMap<>();
        config.put(JsonConverterConfig.DECIMAL_FORMAT_CONFIG, DecimalFormat.NUMERIC.name());
        JsonDebeziumDeserializationSchema jdd = new JsonDebeziumDeserializationSchema(false, config);

        return MySqlSource.<String>builder()
                .hostname(readValue("mysql.host"))
                .port(Integer.parseInt(readValue("mysql.port")))
                .databaseList(readValue("mysql.database"))//库
                .tableList(readValue("mysql.table"))//表
                .username(readValue("mysql.username"))
                .password(readValue("mysql.password"))
                .serverTimeZone(readValue("mysql.serverTimeZone"))
                .startupOptions(StartupOptions.initial())//启动的时候从第一次开始读取
                .deserializer(jdd)
                .build();
    }

    public static void main(String[] args) throws Exception {
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        SingleOutputStreamOperator<String> cdcConfig = env.fromSource(MysqlUtil.getMySqlCDCSource(), WatermarkStrategy.noWatermarks(), "mysqlConfig")
                .uid("mysqlSource_sourceName_uid").name("mysqlSource_sourceName_name").setParallelism(1);

        cdcConfig.print();
        env.execute();
    }

原因分析:

由于Sink是Mysql,导入了mysql jdbc依赖

xml 复制代码
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>

查阅资料后,可能是MySQL Connector/J 的版本不兼容引起的。MySQL Connector/J 8.0.23 与 Flink 的 CDC 版本兼容性较好,但其他版本可能存在不兼容的情况。尝试将版本改为8.0.23后问题解决,输出正常


解决方案:

将mysql jdbc依赖版本改为8.0.23

xml 复制代码
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.23</version>
        </dependency>
相关推荐
大大大大晴天1 天前
Hudi Metadata Table 与 Hive Sync (HMS)怎么选?
大数据
手可摘星辰7771 天前
一次线上FlinkCDC异常排查复盘
大数据·flink
大大大大晴天1 天前
Hudi技术内幕:Metadata Table原理与实践
大数据
大大大大晴天2 天前
Hudi技术内幕:深入解析Index索引机制
大数据
阿里云大数据AI技术2 天前
Flink Forward Asia 2026 深圳启幕:Agentic Streaming for AI,开启实时智能新范式
大数据·flink
SelectDB3 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
大大大大晴天6 天前
Hudi技术内幕:RecordPayload到RecordMerger
大数据
SelectDB7 天前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
WhoAmI7 天前
MapReduce框架原理解析一:InputFormat
大数据·hadoop
WhoAmI7 天前
MapReduce框架原理解析三:OutputFormat
大数据·hadoop