Flink-跟着问题读源码:CheckPoint超时问题总结

本文总结了Flink实时作业中Checkpoint超时的三种常见问题:CPU密集型任务导致处理延迟、数据倾斜及'Checkpoint Duration (Async)'时间过长。针对这些问题,提出了减少源数据量、调整并行度、两阶段聚合、优化keyby策略和解决FGC频率过高等解决方案。同时,分析了反压对Checkpoint的影响,并分享了相关优化文章。
摘要由CSDN通过智能技术生成

最近一段时间处理业务数据量的增长和处理流程的复杂性,导致flink实时作业不仅仅局限于结果正确,更多的精力放在了性能优化上,接下来对近期CheckPoint时长优化进行总结。
我们都知道checkpoint的重要性,整体过程如下:

  1. JobManager 向 Source 算子发送 Barrier ,初始化
    Checkpoint,即JM向Source发起Trigger操作;
  2. 各个Source 算子一旦收到 Barrier 之后,开始Init自身的State,并同时向下游发送 Barrier;
  3. 下游算子收到 Barrier 后,进行 Barrier Alignment
    处理,且若有多个input时并且收到所有的input的Barrier才会开始做Init
    State,同时继续往下游发送Bassier,直到sink算子
    (1.10之前需要Barrier对齐,1.11以后可以选择UnAlignment);
  4. 算子做自身的CP时,分为同步和异步,
    同步阶段的 Snapshot操作:
    a.对state做深拷贝。
    b.将写操作封装在异步的FutureTask中;
    异步阶段的 Snapshot:
    a.执行同步阶段创建的FutureTask
    b.向Checkpoint Coordi
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值