FlinkCDC3.3 使用 Mysql 8.4 报错

一、报错日志

Caused by: io.debezium.DebeziumException: org.apache.flink.util.FlinkRuntimeException: Cannot read the binlog filename and position via 'SHOW MASTER STATUS'. Make sure your server is correctly configured
	at org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.execute(MySqlSnapshotSplitReadTask.java:134) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at org.apache.flink.cdc.connectors.mysql.debezium.reader.SnapshotSplitReader.snapshot(SnapshotSplitReader.java:176) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at org.apache.flink.cdc.connectors.mysql.debezium.reader.SnapshotSplitReader.lambda$submitSplit$1(SnapshotSplitReader.java:161) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_412]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_412]
	... 1 more
Caused by: org.apache.flink.util.FlinkRuntimeException: Cannot read the binlog filename and position via 'SHOW MASTER STATUS'. Make sure your server is correctly configured
	at org.apache.flink.cdc.connectors.mysql.debezium.DebeziumUtils.currentBinlogOffset(DebeziumUtils.java:143) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.doExecute(MySqlSnapshotSplitReadTask.java:156) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.execute(MySqlSnapshotSplitReadTask.java:129) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at org.apache.flink.cdc.connectors.mysql.debezium.reader.SnapshotSplitReader.snapshot(SnapshotSplitReader.java:176) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at org.apache.flink.cdc.connectors.mysql.debezium.reader.SnapshotSplitReader.lambda$submitSplit$1(SnapshotSplitReader.java:161) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_412]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_412]
	... 1 more
Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MASTER STATUS' at line 1
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-java-8.0.22.jar:8.0.22]
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.22.jar:8.0.22]
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.22.jar:8.0.22]
	at com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1200) ~[mysql-connector-java-8.0.22.jar:8.0.22]
	at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:641) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:510) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at org.apache.flink.cdc.connectors.mysql.debezium.DebeziumUtils.currentBinlogOffset(DebeziumUtils.java:123) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.doExecute(MySqlSnapshotSplitReadTask.java:156) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.execute(MySqlSnapshotSplitReadTask.java:129) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at org.apache.flink.cdc.connectors.mysql.debezium.reader.SnapshotSplitReader.snapshot(SnapshotSplitReader.java:176) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at org.apache.flink.cdc.connectors.mysql.debezium.reader.SnapshotSplitReader.lambda$submitSplit$1(SnapshotSplitReader.java:161) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_412]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_412]
	... 1 more

二、原因

8.0.x binlog 查询点位支持 show master status;
https://dev.mysql.com/doc/refman/8.0/en/change-master-to.html
在这里插入图片描述

8.4.x binlog 查询点位不支持 show master status; 改为 SHOW BINARY LOG STATUS;
在这里插入图片描述
https://dev.mysql.com/doc/refman/8.4/en/show-master-status.html
在这里插入图片描述

三、解决方案

  1. 换 mysql 版本。
  2. 修改 FLINK CDC 源码。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/984935.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

汽车一键启动按钮更换注意事项

汽车一键启动开关更换教程 一键启动开关是现代汽车中常见的便捷配置,但随着时间的推移,这个部件可能会出现失灵的情况。当一键启动开关发生故障时,许多车主选择自行更换。以下是整理的一键启动开关更换教程: 更换前的准备 选择匹…

接入DeepSeek,九牧开启AI卫浴新赛道!

2025年或可被称为AI新纪元元年,“具身智能”“智能机器人”“6G”等新词语出现在《政府工作报告》里,国家对制造业转型和“人工智能”的发展提出殷切期望。 近年来,围绕数智化,制造业开启了一场全球竞赛,在无人机、高…

尚硅谷爬虫note16

一、crawlSpider 1. 安装scrapy 终端中:pip install scrapy 2. 创建项目 1)创建项目 scrapy startproject 项目名 2)切换到spiders目录下 cd 项目名\项目名\spiders 3)创建文件 scrapy genspider -t crawl 文件名 网址 4)运行…

如何在需求分析阶段考虑未来扩展性

在需求分析阶段考虑未来扩展性的关键在于 前瞻规划、灵活架构、标准设计。其中,前瞻规划尤为重要,因为通过全面分析业务发展趋势与技术演进,能够在初期设计阶段预留足够扩展空间,降低后期改造成本,为企业长期发展奠定坚…

大语言模型-全文

简介 本博客内容是《大语言模型》一书的读书笔记,该书是中国人民大学高瓴人工智能学院赵鑫教授团队出品,覆盖大语言模型训练与使用的全流程,从预训练到微调与对齐,从使用技术到评测应用,帮助学员全面掌握大语言模型的…

DeepSeek本地化部署与跨域访问架构构建

1. DeepSeek本地部署基础环境 部署 Ollama 推理框架获取并加载 DeepSeek 大语言模型配置图形化用户界面 (GUI)构建本地知识库并集成 鉴于上述四个步骤已在之前的博客中详尽阐述,为避免重复,以下内容将不再赘述,仅作概要性描述 2. 局域网共享…

深度学习系列78:使用langchain的api进行RAG

用起来很麻烦,看api的工夫都已经能自己写完代码了。但现在有些开源api用的是langchain的接口,还是了解一下。参考官方文档:https://www.langchain.com.cn/docs/how_to/ 1. LLM和langserve示例 以openai接口为例,可以看到分为3步…

LiveCommunicationKit OC 实现

一、实现效果: ‌ LiveCommunicationKit‌是苹果公司在iOS 17.4、watchOS 10.4和visionOS 1.1中引入的一个新框架,旨在优化VoIP通话的交互体验。该框架提供了与

SQL Server查询计划操作符(7.3)——查询计划相关操作符(10)

7.3. 查询计划相关操作符 88)Sequence Project:该操作符通过对一个排序集合增加字段来进行计算。其基于一个或多个字段的值将其输入的数据行分成多个段,这样,该操作符每次输出一个段,这些字段显示为该操作符的参数。该…

mac使用Homebrew安装miniconda(mac搭建python环境),并在IDEA中集成miniconda环境

一、安装Homebrew mac安装brew 二、使用Homebrew安装miniconda brew search condabrew install miniconda安装完成后的截图: # 查看是否安装成功 brew list环境变量(无需手动配置) 先执行命令看能不能正常返回,如果不能正常…

vue-cli + echarts 组件封装 (Vue2版)

在Vue2中使用ECharts还是比较麻烦的,今天做了几个组件让我们能更加简单的调用Echars来显示图表。 效果展示 echarts 导入 这里我们使用 package.json 方式导入Echars。配置好后使用命令 npm install或者其他方式都可以 {// ... "scripts": {// ... &qu…

基于编译器特性浅析C++程序性能优化

最近在恶补计算机基础知识,学到CSAPP第五章的内容,在这里总结并且展开一下C程序性能优化相关的内容。 衡量程序性能的方式 一般而言,程序的性能可以用CPE(Cycles Per Element)来衡量,其指的是处理每个元素…

多模态融合的分类、跨模态对齐的方法

两者的主要区别 维度扩模态对齐扩模态融合目标对齐模态间的表示,使其语义一致融合模态间的信息,生成联合表示关注点模态间的相似性和语义一致性模态间的互补性和信息整合空间映射到共享的公共语义空间生成新的联合特征空间方法对比学习、共享空间、注意…

计算机网络--访问一个网页的全过程

文章目录 访问一个网页的全过程应用层在浏览器输入URL网址http://www.aspxfans.com:8080/news/index.aspboardID5&ID24618&page1#r_70732423通过DNS获取IP地址生成HTTP请求报文应用层最后 传输层传输层处理应用层报文建立TCP连接传输层最后 网络层网络层对TCP报文进行处…

自动化测试脚本语言选择

测试人员在选择自动化测试脚本语言时面临多种选项。Python、Java、C#、JavaScript 和 Ruby 都是常见选择,但哪种语言最适合?本文将详细分析这些语言的特点、适用场景和优劣势,结合行业趋势和社会现象,为测试人员提供全面指导。 选…

Oracle 字符类型对比

本文以 Oracle12c 为例 1.主要区别对比 类型存储方式最大长度字符集支持适用场景备注​CHAR(M)固定长度空格填充2000 字节,M 代表字节长度默认字符集固定长度编码实际存储长度固定为定义长度(如 CHAR(10) 始终占 10 字节)​VARCHAR2(M)可变长…

Nginx(基础安装+配置文件)

目录 一.Nginx基础 1.基础知识点 2.异步非阻塞机制 二.Nginx安装 2.1安装nginx3种方式 1.包管理工具安装(yum/apt) 2.本地包安装(rpm/dpkg) 3.源码编译安装 3.1 源码编译安装nginx流程(ubuntu) 1.…

PyCharm 接入 DeepSeek、OpenAI、Gemini、Mistral等大模型完整版教程(通用)!

PyCharm 接入 DeepSeek、OpenAI、Gemini、Mistral等大模型完整版教程(通用)! 当我们成功接入大模型时,可以选中任意代码区域进行解答,共分为三个区域,分别是选中区域、提问区域以及回答区域,我…

Python——计算机网络

一.ip 1.ip的定义 IP是“Internet Protocol”的缩写,即“互联网协议”。它是用于计算机网络通信的基础协议之一,属于TCP/IP协议族中的网络层协议。IP协议的主要功能是负责将数据包从源主机传输到目标主机,并确保数据能够在复杂的网络环境中正…

【LeetCode合并区间C++实现】【c++】【合并区间】

LeetCode合并区间C实现 LeetCode 56题思路图示完整代码运行结果代码或思路哪里有误还请指正!!thank you!! LeetCode 56题 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&am…