flink mysql cdc 2.3.0 的maven依赖

该文章展示了如何在Flink项目中配置MySQLCDC的2.3.0版本来实现数据库变更数据捕获。代码示例中,使用了特定的Maven依赖,并提供了构建Flink源连接器的步骤,以便从MySQL数据库读取数据。此外,还展示了如何设置Watermark策略、启用检查点以及定义源和sink的任务并行度。

flink mysql cdc 2.3.0 的maven依赖

maven依赖信息

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>flincdc</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>


    <dependencies>
        <dependency>
            <groupId>com.ververica</groupId>
            <artifactId>flink-connector-mysql-cdc</artifactId>
            <version>2.3.0</version>
`java.lang.NoSuchMethodError` 错误通常表示在运行时找不到特定的方法,这可能是由于版本不兼容、依赖冲突或编译与运行环境不一致等原因导致的。对于 Flink CDC 2.3.0 版本出现 `Caused by: java.lang.NoSuchMethodError io.debezium.ddl.parser` 错误,可参考以下思路解决: ### 1. 检查依赖版本兼容性 在 Flink 1.14 中使用 flink-connector-mysql-cdc 2.3.0 时,默认引用的 debezium-connector-mysql 的 debezium.version 是 1.6.4.Final 版本,可能存在版本不兼容问题。需要确保 FlinkFlink CDC 以及 Debezium 等相关依赖版本相互兼容。可以尝试调整 Debezium 版本,查看是否能解决问题。 ```xml <dependency> <groupId>com.ververica</groupId> <artifactId>flink-connector-mysql-cdc</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>io.debezium</groupId> <artifactId>debezium-connector-mysql</artifactId> <!-- 尝试调整版本 --> <version>合适的版本</version> </dependency> ``` ### 2. 检查类路径和依赖冲突 确保项目的类路径中没有重复或冲突的依赖。可以使用 Maven 的 `dependency:tree` 命令查看依赖树,找出可能存在冲突的依赖并排除。 ```bash mvn dependency:tree ``` 如果发现有冲突的依赖,可以在 `pom.xml` 中排除不必要的依赖。 ```xml <dependency> <groupId>com.ververica</groupId> <artifactId>flink-connector-mysql-cdc</artifactId> <version>2.3.0</version> <exclusions> <exclusion> <groupId>冲突的依赖组ID</groupId> <artifactId>冲突的依赖工件ID</artifactId> </exclusion> </exclusions> </dependency> ``` ### 3. 检查编译与运行环境一致性 `java.lang.NoSuchMethodError` 可能是由于高版本编译低版本运行引起的。确保项目的编译环境和运行环境一致,包括 Java 版本等。 ### 4. 手动添加缺失的依赖 如果是因为缺少相关类导致的错误,可以手动添加缺失的依赖。参考引用 [3],如果发现某个类找不到,可以手动添加对应的 jar 包到 Flink 的 lib 目录,并重启 Flink 集群。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值