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

相关推荐
武子康13 分钟前
大数据-210 如何在Scikit-Learn中实现逻辑回归及正则化详解(L1与L2)
大数据·后端·机器学习
xiaobaishuoAI17 分钟前
全链路性能优化实战指南:从瓶颈定位到极致优化
大数据·人工智能·科技·百度·geo
乾元20 分钟前
如何把 CCIE / HCIE 的实验案例改造成 AI 驱动的工程项目——从“实验室能力”到“可交付系统”的完整迁移路径
大数据·运维·网络·人工智能·深度学习·安全·机器学习
xiaobaishuoAI28 分钟前
后端工程化实战指南:从规范到自动化,打造高效协作体系
java·大数据·运维·人工智能·maven·devops·geo
俊哥大数据36 分钟前
【实战项目5】基于Flink新闻热搜大数据实时分析项目
大数据·flink
俊哥大数据41 分钟前
【实战项目3】基于Flink广告投放业务领域大数据实时分析项目
大数据·flink
Hello.Reader44 分钟前
PyFlink Configuration 一次讲透怎么配、配哪些、怎么“调得快且稳”
运维·服务器·python·flink
Hello.Reader1 小时前
PyFlink Table API / DataStream API / UDF / 依赖管理 / 运行时模式一篇打通(含示例代码与避坑)
python·flink
学好statistics和DS1 小时前
Git 同步冲突
大数据·git·elasticsearch
Hello.Reader1 小时前
PyFlink FAQ 高频踩坑速查版
python·flink