当前位置: 首页 > news >正文

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之后

        <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.32</version></dependency>

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 1.16 + flink-connector-mysql-cdc2.3 的依赖

<properties><flink-version>1.16.0</flink-version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><artifactId>flink-java</artifactId><version>${flink-version}</version></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-streaming-java</artifactId><version>${flink-version}</version></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-clients</artifactId><version>${flink-version}</version></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-planner_2.12</artifactId><version>${flink-version}</version></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-runtime</artifactId><version>${flink-version}</version></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-api-java-bridge</artifactId><version>${flink-version}</version></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-core</artifactId><version>${flink-version}</version></dependency><dependency><groupId>com.ververica</groupId><artifactId>flink-connector-mysql-cdc</artifactId><version>2.3.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.32</version></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-shaded-guava</artifactId><version>30.1.1-jre-16.0</version></dependency></dependencies>

http://www.lryc.cn/news/160120.html

相关文章:

  • Matlab论文插图绘制模板第112期—带阴影标记的图
  • 专业运动耳机哪个牌子好、专业运动耳机推荐
  • 【SQL应知应会】索引 • Oracle版:B-树索引;位图索引;函数索引;单列与复合索引;分区索引
  • 用ChatGPT做一个Chrome扩展 | 京东云技术团队
  • 动态库的制作与使用及 动态库加载失败解决
  • 404 not found nginx(dist打包后,刷新和跳转都是404 not found nginx的问题) 解决方案(打包发布在服务器)
  • 《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》全文翻译
  • MySQL——笔试测试题
  • WangEditor在Vue前端的应用
  • 初学python的感受
  • SpringSecurity中注解讲解
  • 朔雪流量复制器的前端
  • Anaconda下 Prophet的安装,pystan和fbprophet的版本问题
  • IntelliJ IDEA 简介
  • 20230904 QT客户端服务器搭建聊天室
  • 吴恩达gradio课程:基于开源LLM(large language model)的聊天应用chatbot
  • 【c++】weak_ptrshared_ptr
  • Init函数和main函数
  • 汇川PLC学习Day1:跑马灯程序编写
  • 【已解决】Unknown initial character set index ‘45‘ received from server
  • Java从入门到精通-数组(二)
  • 深入剖析HTTP和HTTPS代理在爬虫中的应用价值
  • SQL语句分类及编写规范
  • 02-zookeeper分布式锁案例
  • 【Spring传播机制底层原理】
  • python通过tkinter制作词云图工具
  • Java-钉钉订阅事件
  • 【DataV/echarts】vue中使用,修改地图和鼠标点击部分的背景色
  • 系统设计类题目汇总四
  • 【C++心愿便利店】No.5---构造函数和析构函数