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

Flink CDC实际保留的这个task的backpressure是0这是不是有点问题?

Flink CDC设置了.closeIdleReaders(true)后,增加新表启动,其他几个task finished,但是dag图上的busy一直是100,实际保留的这个task的backpressure是0这是不是有点问题?image.png

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

    这可能是由于以下原因引起的:

    • 在设置closeIdleReaders(true)之后,Flink CDC会在检测到reader闲置一段时间后将其关闭。这可能会导致一些延迟,特别是在刚开始增加新表的时候,因为Flink需要先创建一个新的reader来读取新的表,然后再关闭原来的reader。所以在这个过程中,其他的task可能已经完成了工作,而新的task还在等待reader创建完成,这就可能导致DAG图上显示的busy仍然是1000,但实际上新task的backpressure是0。
    • 另外,如果你的任务是并行运行的,那么即使所有的子任务都已经完成,DAG图上仍然可能会显示有一个或多个任务处于busy状态。这是因为Flink需要等到所有并行任务都完成后才会结束整个任务。因此,即使有些子任务已经完成了工作,但只要还有一个子任务仍在仍在进行,DAG图就会显示有一个任务处于busy状态。
    2023-11-07 14:49:14
    赞同 展开评论 打赏
  • 是的,这种情况可能存在问题。

    当您设置了.closeIdleReaders(true)时,Flink CDC会关闭空闲的读取器。这通常可以提高性能和资源利用率。但是,在某些情况下,如果新表启动后其他任务已经完成,而DAG图上的busy状态仍然为100,并且保留的task的backpressure为0,则可能存在以下问题:

    1. 可能存在死锁或阻塞的情况。您可以使用Flink Web UI或日志来查找有关死锁或阻塞的信息。

    2. 可能存在资源不足的问题。您可以检查集群的资源使用情况,例如CPU、内存、网络等,以确定是否存在资源瓶颈。

    3. 可能存在配置问题。您可以检查Flink CDC的配置是否正确,例如是否启用了正确的连接器、是否设置了正确的源表和目标表等。

    为了解决这个问题,您可以尝试以下方法:

    1. 重启Flink集群并重新运行作业。

    2. 调整Flink CDC的配置参数,例如增加读取器的并发度、调整拉取频率和拉取量等。

    3. 检查MySQL数据库的状态和性能,例如检查慢查询、优化SQL语句等。

    2023-11-07 10:31:55
    赞同 展开评论 打赏

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

相关产品

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

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