基于FsStateBackend 的checkpoint,怎么设置checpoint保存策略。
Flink只需要这个参数吗?state.checkpoints.num-retained: 3
感觉没有用啊
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在 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 占用过多的内存和资源。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。