Flink做checkpoint迟迟过不去的临时解决思路

当大促的时候,flink 任务在处理数据时由于数据倾斜或者数据量突然增大导致的checkpoint迟迟过不去,在这时候我们临时去改代码可能来不及,或者不允许,因为改代码可能会导致状态丢失。

这时候去配置【Tolerable Failed Checkpoints】,宽松配置,提高作业稳定性,配置成一个比较大的值比如:1百万。如下:

execution.checkpointing.tolerable-failed-checkpoints: 100000

改完该参数以后,前几个checkpoint任然可能过不去,但等失败几个批次以后慢慢会过去。因为如果改参数配置成0,每次checkpoint失败flink都会重新从上一个成功的checkpoint 的offset重新消费,进而导致恶性循环,迟迟过不去;如果配置比较大,虽然当前checkpoint失败,但是截止当前的offset继续消费,而不会重新从上一个成功的checkpoint 的offset重新消费。这样就可以慢慢缓冲过去。

该参数是Flink容错机制中的一个关键配置参数,它定义了‌允许连续失败的检查点的最大数量‌。当连续失败的检查点数量超过此阈值时,Flink作业将自动失败并停止运行。是Flink容错机制的"安全阀",它平衡了作业稳定性与数据一致性之间的权衡‌。该参数不是用来解决检查点失败问题的工具,而是用来‌防止问题恶化的防护机制‌。
切记这只能作为临时的解决方案,然后再去排查导致检查点失败的根本原因,当大促过去以后,上线新的方案,备任务起来并行运行一段时间,然后平滑的迁移到新的方案。然后重新配置改参数,一般我们生产改参数配置比较小(0或小于5的数字),严格配置,快速失败以保护数据一致性。

execution.checkpointing.tolerable-failed-checkpoints: 0

相关推荐
2501_9414043110 小时前
绿色科技与可持续发展:科技如何推动环境保护与资源管理
大数据·人工智能
swanwei11 小时前
量子科技对核心产业的颠覆性影响及落地时间表(全文2500字)
大数据·网络·人工智能·程序人生·量子计算
isNotNullX14 小时前
数据中台有什么用?数据仓库和数据中台怎么选?
大数据·数据仓库·人工智能·数据中台
roman_日积跬步-终至千里15 小时前
【AI Engineering】Should I build this AI application?—AI应用决策框架与实践指南
大数据·人工智能
DolphinScheduler社区15 小时前
图解 Apache DolphinScheduler 如何配置飞书告警
java·大数据·开源·飞书·告警·任务调度·海豚调度
稚辉君.MCA_P8_Java16 小时前
通义千问 SpringBoot 性能优化全景设计(面向 Java 开发者)
大数据·hadoop·spring boot·分布式·架构
SeaTunnel16 小时前
Apache SeaTunnel 如何将 CDC 数据流转换为 Append-Only 模式?
大数据·开源·apache·开发者·seatunnel·转换插件
万山y16 小时前
git remote add做了什么
大数据·git·elasticsearch
六边形架构16 小时前
别再盲目地堆砌技术了!大部份大数据项目的失败,都是因为架构设计没做对!
大数据·系统架构
驾数者17 小时前
DDL实战指南:如何定义和管理动态表
大数据·sql·flink