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>
相关推荐
码界筑梦坊38 分钟前
基于Flask的京东商品信息可视化分析系统的设计与实现
大数据·python·信息可视化·flask·毕业设计
专注API从业者4 小时前
分布式电商系统中的API网关架构设计
大数据·数据仓库·分布式·架构
viperrrrrrrrrr75 小时前
大数据学习(49) - Flink按键分区状态(Keyed State)
大数据·学习·flink
狮歌~资深攻城狮6 小时前
未来已来:HBase的新功能与发展趋势展望
大数据·wpf·hbase
weixin_307779136 小时前
PySpark实现MERGE INTO的数据合并功能
大数据·python·spark
vx1530278236211 小时前
CDGA|企业数据治理实战:从疏通“信息河”到打造优质“数据湖”
java·大数据·人工智能·cdga·数据治理
AIRIOT12 小时前
AIRIOT智慧消防管理解决方案
大数据
哔哩哔哩技术13 小时前
ClickHouse BSI与字典服务在B站商业化DMP中的应用实践
大数据
想做富婆14 小时前
数仓搭建(hive):DM搭建(数据集市层)
大数据·数仓搭建