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

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


一、核心结论(先记这 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 个,防止快照损坏无法恢复。

相关推荐
大模型码小白9 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
延凡科技11 小时前
多场景落地复盘:端边云架构无人机智能巡检系统设计与实践
大数据·数据结构·人工智能·科技·架构·无人机·能源
ifenxi爱分析12 小时前
爱分析最新报告解读:AI数据基础设施与数据中台的区别
大数据·人工智能
品牌全球行13 小时前
共商共建共享 链接数字未来——“一带一路数字新城(深圳)会客厅筹备办”揭牌仪式在深圳隆重举行
大数据·人工智能
数智化管理手记15 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
ApacheSeaTunnel16 小时前
Apache SeaTunnel AI CLI Benchmark:7 款大模型、100 个 ETL 任务实测,谁真正能跑起来?
大数据·ai·开源·大模型·数据集成·cli·seatunnel·技术分享·数据同步
电商API_1800790524716 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
小稻穗16 小时前
市场调研样本选型坐标系:2026六家国内样本平台能力横向校验
大数据·运维·数据分析
极光代码工作室17 小时前
基于Spark的日志监控与分析平台
大数据·hadoop·python·spark·数据可视化
wuhanzhanhui17 小时前
从高强钢到碳纤维!2026武汉汽车材料轻量化制造技术展会,重塑未来造车新范式
大数据·汽车·制造