Flink 大家一般是如何清理checkpoint?

Flink网上生产级要求,checkpoint需要手动写脚本清理,特别是增量的rocksdb, 大家一般是如何清理checkpoint?

展开
收起
wenti 2023-02-07 14:36:10 797 分享 版权
2 条回答
写回答
取消 提交回答
  • 一般来说,清理Flink的checkpoint可以通过编写脚本来实现。

    可以使用Flink的命令行工具,如flink list checkpoints,来查看当前存在的checkpoint,然后根据需要清理掉过期的checkpoint。

    对于您说的增量的rocksdb,可以使用RocksDB的清理工具,比如RocksDB Cleaner,来清理过期的checkpoint。

    RocksDB Cleaner可以根据指定的时间戳来清理过期的checkpoint,从而确保系统的性能和可用性。

    2023-02-08 07:59:13
    赞同 展开评论
  • Flink中对ck的清理策略分为两种,DELETE_ON_CANCELLATION和RETAIN_ON_CANCELLATION:

    DELETE_ON_CANCELLATION在仅当作业失败时,作业的 ck才会被保留用于任务恢复。当作业取消时,ck状态信息会被删除,因此取消任务后,不能从 ck位置进行恢复任务。

    RETAIN_ON_CANCELLATION在当作业手动取消时,将会保留作业的 ck状态信息。注意,这种情况下,需要手动清除该作业保留的 ck 状态信息,否则这些状态信息将永远保留在外部的持久化存储中。

    需要解析最近一次ck目录的元数据文件就可以知道当前的任务依赖哪些sstable文件,千万不要把这些还依赖sstable文件的ck目录删除,最后把其余不依赖的sstable所在的ck目录删除就好了。

    2023-02-07 22:47:27
    赞同 展开评论

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

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理