请问有大佬遇到过Flink CDC这种问题吗?

请问有大佬遇到过Flink CDC这种问题吗?The connector is trying to read binlog starting at Struct{version=1.6.4.Final,connector=mysql,name=mysql_binlog_source,ts_ms=1690526090585,db=,server_id=0,file= mysql-bin.001890,pos=4,row=0}, but this is no longer available on the server. Reconfigure the connector to use a snapshot when needed.

展开
收起
真的很搞笑 2023-08-02 09:05:35 139 分享 版权
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    根据你提供的错误信息,看起来是 Flink CDC 的 MySQL Binlog Source Connector 遇到了一个问题。错误信息表明,该连接器正在尝试从指定的 binlog 位置读取数据,但该位置在服务器上不再可用。建议重新配置连接器,以在需要时使用快照。

    这个问题可能由以下原因之一引起:

    Binlog 文件已被清理:在 MySQL 中,当 binlog 文件达到一定大小或配置的保留期限时,旧的 binlog 文件可能会被清理。如果 Flink CDC 的连接器尝试读取的 binlog 位置对应的文件已被清理,就会出现该错误。

    配置错误:可能是由于连接器的配置错误导致无法正确读取 binlog 数据。请检查连接器的配置,确保指定的 binlog 位置正确,并根据需要进行调整。

    针对这个问题,你可以尝试以下几个步骤进行排查和解决:

    检查 binlog 文件状态:确认一下 MySQL 服务器上的 binlog 文件的状态。检查是否存在指定的 binlog 文件,并确保该文件可用。

    检查连接器配置:仔细检查 Flink CDC 连接器的配置,特别是指定的 binlog 位置(file 和 pos 参数)。确保配置中指定的 binlog 位置是有效的,并且与实际的 MySQL binlog 文件匹配。

    使用快照进行重新配置:根据错误信息的建议,重新配置连接器,以使用快照进行初始化。这将允许连接器从最新的快照开始读取数据,而不是指定的 binlog 位置。

    检查 MySQL 服务器配置:确保 MySQL 服务器的 binlog 配置正确,并且文件保留策略与你的需求相符。如果 binlog 文件被过早清理,可能需要调整服务器的配置。

    2023-08-03 22:39:16
    赞同 展开评论
  • 出现这种情况的原因可能是正在读取的binlog日志被清理了 ,那还有种可能主备切换,之前我碰到过设置SPECIFIC_OFFSETS指定binlog的filename就报了这个错误,重新指定的gtid就好了,从你指定的gtid开始消费,2.3版本的SPECIFIC_OFFSETS做ck有问题,得手工自己指定gtid就好了。现在好像2.4版本修复了。,此回答整理自钉群“Flink CDC 社区”

    2023-08-02 09:12:18
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

还有其他疑问?
咨询AI助理