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

Flink CDC读取oracle增量数据 关闭增量快照配置,可以正确读取增量数据,哪位帮忙看下?

Flink CDC读取oracle增量数据
关闭增量快照配置,可以正确读取增量数据,开启后,会报“io.debezium.DebeziumException: The db history topic or its content is fully or partially missing. Please check database history topic configuration and re-execute the snapshot”

哪位大佬帮忙看下?

展开
收起
真的很搞笑 2023-11-15 08:59:02 251 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这是因为在使用增量快照功能时,Flink CDC需要维护一个数据库历史记录主题来跟踪已经读取过的数据。如果这个主题缺失或者部分内容丢失,那么就可能导致上述错误。
    解决这个问题的办法通常是重新创建数据库历史记录主题,并重新执行一次全量数据同步操作。具体步骤如下:

    1. 关闭现有的Flink CDC作业;
    2. 删除原来的数据库历史记录主题;
    3. 启动一个新的Flink CDC作业,并重新执行一次全量数据同步操作。这样就可以重新创建数据库历史记录主题,并开始正常的增量数据同步操作。
    2023-11-15 14:31:18
    赞同 展开评论 打赏
  • 看起来像是Debezium在试图使用数据库历史记录主题来记录事务ID的变化时出现问题了。
    "db history topic or its content is fully or partially missing" 这个错误表明Debezium不能找到一个名为db.history.kafka.topic的主题或者它的内容丢失了。这是因为Flink CDC使用Debezium作为Kafka Connect插件来读取和写入数据库事务ID的变化。
    要解决这个问题,首先需要确认一下Kafka集群中的这个主题是否存在并且数据完整。如果没有这个主题的话,可以创建一个。如果已经有了这个主题并且数据不完整,需要清除其中的内容然后重新运行快照。然后还要检查一下这个主题的配置是否正确,特别是auto.offset.reset参数,需要设置为earliest来让Debezium从头开始读取事务ID变化。

    2023-11-15 09:38:56
    赞同 2 展开评论 打赏
  • 这个问题可能是由于Flink CDC在开启增量快照配置时,无法正确读取数据库历史主题或其内容导致的。建议检查数据库历史主题的配置是否正确,并重新执行快照操作。另外,可以尝试使用Flink的日志功能来查看更详细的错误信息,以便更好地定位问题所在。

    2023-11-15 09:17:09
    赞同 1 展开评论 打赏

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

相关产品

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

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载