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

flink CDC 增量同步的问题 第一个job 同步有较高的延迟,延迟时间 5~40 分钟不等?

flink CDC 增量同步的问题
一个job运行之后,刚开始同步很快,几乎秒级,再提交一个job 之后,第一个job 同步有较高的延迟,延迟时间 5~40 分钟不等?image.png

展开
收起
真的很搞笑 2023-12-04 07:31:55 129 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Flink CDC 在处理增量同步时,其默认策略是首次运行时进行全量同步,随后便转为增量读取。这种机制对于表数据量较大的情形特别重要,因此在重写 AbstractMessageListener#read 方法以适应大量数据处理的场景时需要格外小心。另一方面,Flink CDC是基于Binlog的CDC,它根据数据库的事务日志来获取数据更改。

    在出现第一个job同步延迟的情况下,可能的原因有多种。一种可能是资源竞争,例如任务的资源不足或者任务之间的资源冲突等。另一种可能是由于 Flink CDC 的任务在运行过程中遇到了异常情况导致任务失败。如果任务失败,可以尝试重新启动任务。此外,需要注意的是,Flink CDC会根据所依赖的数据库的更新频率和数据量来进行全量或增量同步,因此当第二个job提交后,对资源的需求量增大可能导致第一个job的同步速度下降。

    2023-12-04 14:30:07
    赞同 展开评论 打赏
  • Flink CDC的同步策略是初次运行时进行全量同步,随后便转为增量读取。在启动之初,Flink CDC会执行一次全表扫描,因此初期的同步速度很快,几乎达到秒级。然而,当您提交另一个job后,首个job的同步速度可能会受到影响,出现较高的延迟,这种延迟的时间长短不一,可能在5到40分钟之间。

    如果遇到上述问题,可以尝试以下解决方案:

    • 调整Flink的并行度设置,以优化任务的执行效率。
    • 对Flink的配置进行调整,例如在flink-conf.yaml中配置execution.target: yarn-per-job,这样可以将Catalog设置为持久化,避免因非持久化Catalog导致的同步问题。
    • 适当调整Flink CDC的同步策略,如调整debezium的并发线程数等。这可能有助于提高同步速度并减少延迟。
    2023-12-04 11:59:26
    赞同 展开评论 打赏

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

相关产品

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

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