Flink 大家一般是如何清理checkpoint?[阿里云实时计算 Flink版]

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

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 一般来说,清理Flink的checkpoint可以通过编写脚本来实现。

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

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

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

  2. 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目录删除就好了。