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>
相关推荐
MaxCode-129 分钟前
单智能体篇:Prompt工程艺术
大数据·人工智能·prompt
计算机毕设残哥3 小时前
大数据毕业设计推荐:基于Hadoop+Spark的手机信息分析系统完整方案
大数据·hadoop·课程设计
Hello.Reader4 小时前
Elasticsearch Rails 集成(elasticsearch-model / ActiveRecord)
大数据·elasticsearch·jenkins
代码的余温6 小时前
Elasticsearch核心概念
大数据·elasticsearch·搜索引擎
TDengine (老段)6 小时前
TDengine IDMP 应用场景:微电网监控
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据
8K超高清6 小时前
广播级讯道摄像机CCU后挂上的PGM、ENG、PROD音频旋钮是做什么用的?
大数据·人工智能·科技·数码相机·音视频·智能硬件
跨境卫士-小卓7 小时前
eBay新政深度解读:2025跨境交易规则重构与卖家应对策略
大数据·重构·跨境电商
PawSQL8 小时前
十年磨一剑!Apache Hive 性能优化演进全史(2013 - )
大数据·hive·性能优化
IsPrisoner8 小时前
深入理解 Elasticsearch:从原理到实战的系统性解析
大数据·elasticsearch·搜索引擎
派可数据BI可视化8 小时前
解读商业智能BI,数据仓库中的元数据
大数据·数据仓库·数据分析·spark·商业智能bi