开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC消费binlog 不是增量的嘛?

Flink CDC消费binlog 不是增量的嘛,为啥保存了18小时还不够用呢,任务数据量也不是那么大 不至于积压18小时啊 而且报错的binlog位置 从数据库也看了下binlog文件确实存在 有点不太理解这里的逻辑 大佬辛苦帮忙解惑一下?

展开
收起
cuicuicuic 2023-12-10 20:45:33 40 0
2 条回答
写回答
取消 提交回答
  • Flink CDC消费的binlog应该是增量的。binlog文件包含了数据库的增量变更操作,Flink CDC会根据这些变更操作来实时捕获和处理数据。

    关于binlog文件保留时间的问题,18小时的保留时间通常是一个较为常见的配置。这个保留时间是数据库配置的一部分,控制着数据库中binlog文件的删除策略。一般情况下,数据库会根据配置的保留时间删除过期的binlog文件。

    然而,有时候保留时间的设置可能不够充足,导致binlog文件被删除而无法被Flink CDC消费。这可能是由于任务报错或其他异常情况导致binlog文件未被正确处理,或者是数据库自动清理策略设置得过于激进。

    2023-12-18 22:22:29
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Flink CDC确实基于MySQL的binlog来实现数据的实时同步,其增量数据抓取就是从binlog中进行的。因此理论上,无论数据库进行了何种操作,只要binlog正常生成,Flink CDC就应该能够找到对应的增量数据。

    然而,确实存在某些情况下可能出现找不到binlog的问题。例如,当任务报错时,如果最近的binlog被清除了,那么在重启任务后就可能找不到这个位置的binlog。但根据你的描述,即使保存了18小时的binlog,且任务数据量并不大,也出现了找不到binlog的情况。这可能由以下几种情况导致:

    1. Flink CDC任务配置问题。你可能设置了某些参数使得任务只进行一次全量同步,而不读取后续的binlog。

    2. MySQL的binlog未正常开启或由于某些原因导致binlog日志丢失。你可以登录MySQL,确认其binlog是否已开启以及是否存在你所需要的binlog日志。

    3. 使用的Flink版本与CDC版本可能存在兼容性问题。不同版本的Flink和CDC对接MySQL的binlog方式可能存在差异,你需要确保你使用的MySQL版本、Flink版本以及CDC版本能够兼容。

    2023-12-11 16:41:58
    赞同 展开评论 打赏

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

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    PolarDB-X 2.0 全局 Binlog 与备份恢复能 立即下载