排查Flink状态膨胀导致Checkpoint超时的问题

记录一次问题解决的过程。

生产中有个设备运行状态持续时间计算的任务,当设备的数据量由1000+加到8000+,每秒采集一次的设备的状态和各项指标发送到kafka给到flink进行处理。状态持续时间计算的算子中状态的checkpoint频繁超时,监控显示当个TaskManager的状态达2G,RocksDB的写入延迟飙升到几百毫秒。业务方反馈统计滞后越来越严重。

  1. 定位根因 :通过Flink UI中的SubTask分析State Size,发现MapState占了90%的状态量。检查代码发现,每次状态变更都追加时间戳,但从未清理过期数据------实际上只需要知道当前状态的开始时间,完全不需要保存历史时间戳。

  2. 重构状态结构 :将MapState<Long, Long>改为ValueState<StatusRecord>,其中StatusRecord只存两个字段:currentStatusstatusStartTime。这样每个设备只存一个对象,状态量从每台上千个时间戳骤降到1个。

  3. 设置TTL :使用StateTtlConfigValueState设置24小时TTL,并将cleanupStrategies设为基于RocksDB的Compaction过滤,避免由于惰性清理导致状态无限残留。

  4. 优化RocksDB参数 :将state.backend.rocksdb.writebuffer.size从32MB调到64MB,开启增量Checkpoint,缩短快照时间。

通过修改以上参数,重启flink集群及任务后,问题得到了解决。

相关推荐
DataX_ruby8224 分钟前
2026年数据中台厂商市场份额分析
大数据·人工智能·数据治理·数据中台
汉知宝科技1 小时前
跨境电商品牌合规:出海企业商标管理的特殊挑战与数字化应对
大数据·人工智能
真上帝的左手1 小时前
19. 大数据-数据治理-体系建设全流程
大数据·数据治理
❀抽抽2 小时前
证件照制作API接入指南:700+规格一键生成
大数据·网络·人工智能
Promise微笑2 小时前
绝缘油介损(油介损)测试仪的深层机理、技术演进与精准诊断策略
大数据·网络·人工智能
大C聊AI2 小时前
通用大模型纷纷收费,垂直场景AI工具的价值正在被重估
大数据·人工智能·机器学习·办公效率·ai 工具·智标领航·ai 辅助办公
让学习成为一种生活方式3 小时前
植物基因组数据共享:呼吁全面开放获取--文献精读244
大数据
Java 码思客3 小时前
【ElasticSearch从入门到架构师】第5章:ES DSL 检索语法精讲(核心重点)
大数据·elasticsearch
lauo3 小时前
ibbot青春版:当腾讯AI“换船”,一部手机如何成为你的Token“私矿”?
大数据·人工智能·chatgpt·智能手机·ai-native
老虾头3 小时前
合规化背景下,本地私有 AI 成为行业主流发展方向
大数据·人工智能