在Flink的checkpoint怎么设置checpoint保存策略?

基于FsStateBackend 的checkpoint,怎么设置checpoint保存策略。
Flink只需要这个参数吗?state.checkpoints.num-retained: 3
感觉没有用啊

展开
收起
三分钟热度的鱼 2023-09-27 14:21:49 230 分享 版权
1 条回答
写回答
取消 提交回答
  • 在 Flink 中,Checkpoint 的保存策略可以通过以下方式进行设置:

    通过 CheckpointConfiguration 的 checkpointInterval 属性设置 checkpoints 的间隔时间。
    通过 CheckpointConfiguration 的 minPauseBetweenCheckpoints 属性设置在两个 checkpoints 之间必须等待的最短时间。
    通过 CheckpointConfiguration 的 maxConcurrentCheckpoints 属性设置同时可以进行的 checkpoints 的最大数量。
    通过 CheckpointConfiguration 的 maxStateSize 属性设置每个 checkpoint 可以存储的数据的最大大小。
    通过 CheckpointConfiguration 的 checkpointTimeout 属性设置每个 checkpoint 的超时时间。
    通过 CheckpointConfiguration 的 failureRateThreshold 属性设置 checkpoint 失败率的阈值。
    通过 CheckpointConfiguration 的 tolerableCheckpointFailureNumber 属性设置 checkpoint 失败次数的最大阈值。
    以下是设置 checkpoint 保存策略的示例:

    val checkpointConfig = new CheckpointConfig
    checkpointConfig.setCheckpointInterval(1000)
    checkpointConfig.setMinPauseBetweenCheckpoints(500)
    checkpointConfig.setMaxConcurrentCheckpoints(1)
    checkpointConfig.setMaxStateSize(1024 1024 1024)
    checkpointConfig.setCheckpointTimeout(60000)
    checkpointConfig.setFailureRateThreshold(0.5)
    checkpointConfig.setTolerableCheckpointFailureNumber(2)
    以上示例设置了以下 checkpoint 保存策略:

    每个 1000 毫秒就会进行一次 checkpoint。
    两个 checkpoint 之间必须至少间隔 500 毫秒。
    同时最多只能进行一个 checkpoint。
    每个 checkpoint 可以存储最多 1 GB 的数据。
    每个 checkpoint 的超时时间为 60 秒。
    如果一个 checkpoint 的失败率超过 50%,则会停止进行 checkpoint。
    如果一个 checkpoint 失败超过 2 次,则会停止进行 checkpoint。
    通过设置以上 checkpoint 保存策略,可以提高 checkpoint 的成功率,同时也能避免 checkpoint 占用过多的内存和资源。

    2023-10-17 10:58:42
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

还有其他疑问?
咨询AI助理