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>
相关推荐
2601_964840271 小时前
4G云门禁普惠化技术实践:基于边缘计算破解成本、隐私、部署三大行业瓶颈
大数据·人工智能·边缘计算
具身智能进化论2 小时前
国产协作机器人品牌如何选择,企业长期使用更看重什么
大数据·人工智能·机器人·工厂方法模式
IvorySQL3 小时前
PostgreSQL 日报|PG18.5 回归测试崩溃问题(8 月 12 日)
大数据·数据库·人工智能·postgresql
明航咨询_贾老师3 小时前
《软件工程造价师报考全攻略:报名条件、考试流程与通关要点》
大数据·软件工程造价师
2503_931712484 小时前
国内广东乐运科技及行业头部AI数字化转型解决方案源头
大数据
学着改变2754 小时前
手持式超声波流量计为何首选行澳科技?便携巡检与外夹计量的性能标杆
大数据·网络·人工智能·科技·产品运营·量子计算
xushichang123_4 小时前
企业想统一接入 Claude、GPT、DeepSeek、Qwen 等模型,应该选什么云上 AI 平台架构?
大数据
赟爸6 小时前
直播切片素材杂乱不好复用,易元AI要怎么处理
大数据·人工智能·python
yunlaodacom6 小时前
阿里云国际站注册:性能损耗 < 1%!基于 eBPF 的服务器异常预测实战与调优指南
大数据·服务器·阿里云
大大大大晴天6 小时前
从 Kafka 到报表:Flink、CDC 与 StarRocks 的实时入仓链路
大数据