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

相关推荐
小五传输1 小时前
消防总队信创改造实践:国产文件传输服务器解决文件传输难题
大数据·运维·安全
flyinsono2 小时前
连锁宠物医院怎么管?杏聆荟系统实现多店高效协同
大数据·宠物
Sayai2 小时前
Elasticsearch 9 安装验证实战:start-local 一键部署 + Docker 手动安装踩坑指南
大数据·elasticsearch·docker
智恒百亿2 小时前
8 卡 RTX 5090 服务器深度实测:256GB 显存能否支撑 70B 模型微调?选型参考
大数据·运维·服务器·人工智能
TDengine (老段)7 小时前
TDengine 线程模型 — 网络、调度、执行
大数据·数据库·物联网·制造·时序数据库·tdengine·涛思数据
智购科技自动贩卖机9 小时前
自动售货机嵌入式状态机设计实战:从45个事件源到层次型状态机的工程重构
大数据·人工智能·stm32·物联网·重构·硬件架构
乐迪信息10 小时前
智慧港口船舶AI算法实现在线状态监测
大数据·人工智能·深度学习·算法·计算机视觉
Raas10010 小时前
MAI Gateway(魔芋企业级AI网关)对比分析:AI网关和API网关区别?企业级能力差距一览
大数据·人工智能·数据挖掘·mai gateway·企业级产品
Neighbor_OldY10 小时前
云上安全配置审计与误配置修复实战:从安全组、OSS、RAM到数据库的全栈排查复盘
大数据·运维·安全·云计算
工业甲酰苯胺11 小时前
AI低代码破局:制造业数智转型落地实战
大数据·人工智能·低代码·制造