Flink+Flink CDC版本升级的依赖问题总结

之前使用Flink1.13+Flink CDC2.0同步MySQL数据,想测试一下最新的几个版本。但是各种依赖冲突的报错,经过一段时间的调试,终于解决,现在总结一下。

1、flink1.15前后jar包名称不一样

flink-streaming-java、flink-clients、flink-table-api-java-bridge这几个在flink1.15之前,后缀区分Scala版本,如flink-streaming-java_2.12,flink 1.15及之后全部去掉Scala后缀,如flink-streaming-java。

详见:Maven Repository: org.apache.flink » flink-streaming-java (mvnrepository.com)icon-default.png?t=N7T8https://mvnrepository.com/artifact/org.apache.flink/flink-streaming-java

2、blink-planner

flink 1.14 版本以后,之前版本 blink-planner 转正为 flink 唯一的 planner

所以:flink-table-planner-blink  替换成 flink-table-planner

flink-table-runtime-blink 替换成 flink-table-runtime

3、MySQL依赖

报错:Caused by: java.lang.NoSuchMethodError: com.mysql.cj.CharsetMapping.getJavaEncodingForMysqlCharset(Ljava/lang/String;)Ljava/lang/String;

如果MySQL是8.0,fink cdc2.1之后由debezium连接器引起的问题。

将依赖改为8.0.21之后

        
            mysql
            mysql-connector-java
            8.0.32
        

Flink+Flink CDC版本升级的依赖问题总结_第1张图片

4、guava30依赖冲突

报错:NoClassDefFoundError: org/apache/flink/shaded/guava30/com/google/common/collect/Lists

flink 1.15 及之后和 1.13 使用的 flink-shaded-guava 版本不一样,两个版本不兼容,需要修改 cdc 中的 flink-shaded-guava 版本。

Flink+Flink CDC版本升级的依赖问题总结_第2张图片

调整完之后就可以了

附录

flink 1.16 + flink-connector-mysql-cdc2.3 的依赖


        1.16.0
    

    
        
            org.apache.flink
            flink-java
            ${flink-version}
        
        
            org.apache.flink
            flink-streaming-java
            ${flink-version}
        
        
            org.apache.flink
            flink-clients
            ${flink-version}
        
        
            org.apache.flink
            flink-table-planner_2.12
            ${flink-version}
        
        
            org.apache.flink
            flink-table-runtime
            ${flink-version}
        
        
            org.apache.flink
            flink-table-api-java-bridge
            ${flink-version}
        
        
            org.apache.flink
            flink-core
            ${flink-version}
        
        
            com.ververica
            flink-connector-mysql-cdc
            2.3.0
        
        
            mysql
            mysql-connector-java
            8.0.32
        
        
            org.apache.flink
            flink-shaded-guava
            30.1.1-jre-16.0
        
    

你可能感兴趣的:(061-大数据平台与技术,flink,大数据,guava,mysql,maven)