当前位置: 首页 > news >正文

Flink快照保留多久、多少个,设置参数

Flink 快照(Checkpoint)保留数量、保留时间全套参数 + 配置

我给你最完整、最准确、面试 + 生产都能用的版本,直接复制即可。


一、核心结论(先记这 3 个参数)

Flink 控制快照保留多少个、保留多久,就靠这 3 个配置:

  1. 保留最近多少个 Checkpoint
  2. Checkpoint 保留时间(超时时间)
  3. 取消任务时是否删除快照

二、具体参数(代码版 + yaml 版)

1.保留最近 N 个 Checkpoint(最常用)

默认:只保留 1 个生产建议:保留 2~3 个

代码设置

java

运行

// 保留最近 3 个 Checkpoint checkpointConfig.setMaxNumberOfRetainedCheckpoints(3);

yaml 设置

yaml

execution.checkpointing.num-retained: 3

2.Checkpoint 保留时长(超时时间)

超过这个时间没用,自动删除

代码设置

java

运行

// 保留 24 小时(单位毫秒) checkpointConfig.setCheckpointRetention(24 * 60 * 60 * 1000);

yaml

yaml

execution.checkpointing.timeout: 3600000

3.任务取消 / 失败时,是否保留 Checkpoint

代码

java

运行

// 取消任务时保留 Checkpoint(生产必开) config.setExternalizedCheckpointCleanup( CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION );

yaml

yaml

execution.checkpointing.externalized-checkpoint-retention: RETAIN_ON_CANCELLATION

三、完整生产推荐配置(直接用)

yaml 完整版

yaml

# 每 30s 做一次 CK execution.checkpointing.interval: 30000 # 最多同时进行 1 个 CK execution.checkpointing.max-concurrent-checkpoints: 1 # 保留最近 3 个快照 execution.checkpointing.num-retained: 3 # 取消任务时保留 CK execution.checkpointing.externalized-checkpoint-retention: RETAIN_ON_CANCELLATION # CK 超时时间 10 分钟 execution.checkpointing.timeout: 600000

代码完整版

java

运行

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); // 30s 一次 CK env.enableCheckpointing(30000); CheckpointConfig config = env.getCheckpointConfig(); // 最多保留 3 个 config.setMaxNumberOfRetainedCheckpoints(3); // 取消任务保留 config.setExternalizedCheckpointCleanup(RETAIN_ON_CANCELLATION); // 异步快照 config.setAsyncSnapshot(true);

四、最关键的规则(面试必问)

  1. 保留数量优先超过num-retained:3自动删除最旧的
  2. 保留时间次之超过保留时间 → 自动删除
  3. 取消任务是否保留
    • RETAIN_ON_CANCELLATION保留
    • DELETE_ON_CANCELLATION删除

五、一句话背诵版(面试满分)

Flink 通过execution.checkpointing.num-retained设置保留最近多少个 Checkpoint,通过timeout设置保留时长,通过externalized-checkpoint-retention控制取消任务时是否保留;默认只保留 1 个,生产建议保留 2-3 个,防止快照损坏无法恢复。

http://www.jsqmd.com/news/728810/

相关文章:

  • 28nm FPGA硬核内存控制器架构与优化实践
  • LLM Agent开发实战指南:从框架选型到项目落地
  • 半导体芯片行业展会推荐:汇聚半导体芯片全品类展会,精选业内平台 - 品牌2026
  • R语言偏见检测必须掌握的3层统计验证:分布偏移→关联强度→因果敏感性(含Hugging Face模型实测源码)
  • SpringBoot 2.6.2 + Flowable 6.7.2 整合避坑指南:从MySQL驱动版本到流程图中文乱码
  • 2026年四川防水补漏公司top5:屋面防水补漏,屋顶防水补漏,成都防水公司,本地防水补漏公司,实力盘点! - 优质品牌商家
  • 2026AI大模型API聚合服务揭秘:五款主流中转服务性能大比拼与接入攻略
  • Steam游戏破解难题:如何用自动化工具轻松绕过DRM限制
  • 微米级探针如何“看穿“半导体超浅结 | 四探针间距对方阻测量的影响
  • 用Matlab搞定毕业论文图表:从数据到直方图、散点图、箱线图的完整复盘
  • 从计算机小白到AI大模型工程师:我的3个月独家学习路线,收藏必备!
  • 【 Godot 4 学习笔记】数组(Array)
  • 为什么千兆网线频率只有62.5MHz 低频跑高速的物理层原理
  • 对比使用Taotoken前后在模型选型与切换上的效率提升感受
  • 将8088 BootLoader分拆烧写到8086 ROM中
  • 启发式算法WebApp实验室:从搜索策略到群体智能的能力进阶(二十三)
  • 别再问脚本是啥了!从浏览器油猴插件到Python自动化,5分钟搞懂脚本的N种玩法
  • SwiftVLA:轻量化VLA模型的4D时空优化技术解析
  • 20nm模拟IC设计挑战与Tanner EDA实战技巧
  • 2026年收藏AI降重神器:高效助力论文查重从雷区到安全区 - 降AI实验室
  • 05_yolox_s的后处理截断并导出onnx
  • 全自动油水分离器技术解析与选型实操推荐:诸城,山东油脂回收设备厂家,矿山污水处理设备,实力盘点! - 优质品牌商家
  • 思源宋体CN免费开源字体完整指南:7种字重一站式解决方案
  • 运维监控POC怎么做才不踩坑?我踩过的5个坑和一份验证清单
  • 浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
  • 拆解汽车电源管理芯:TLF35584的MPS、ENK/WAK引脚配置全解析,从硬件设计到软件初始化
  • 【西瓜带你学Kafka | 第八期】 Kafka的主从同步、消息可靠性、流处理与顺序消费(文含图解)
  • 2026成都阳台防水补漏技术解析与商家选择推荐 - 优质品牌商家
  • 深度学习齿轮箱故障诊断与寿命预测【附代码】
  • STBDAI7220数字输入模块