在Flink CDC中,Checkpoint的清理策略通常有两种设置方式:DELETE_ON_CANCELLATION和RETAIN_ON_CANCELLATION。
DELETE_ON_CANCELLATION:仅当作业失败时,作业的 Checkpoint 才会被保留用于任务恢复。当作业取消时,Checkpoint 状态信息会被删除,因此取消任务后,不能从 Checkpoint 位置进行恢复任务。
RETAIN_ON_CANCELLATION:当作业手动取消时,将会保留作业的 Checkpoint 状态信息。注意,这种情况下,需要手动清除该作业保留的 Checkpoint 状态信息,否则这些状态信息将永远保留在外部的持久化存储中。
在实际生产环境中,如果状态超过100G,从 Savepoint 恢复任务时需要耗时10分钟以上,而 Checkpoint 可以在2分钟以内恢复完成,因此,对于状态超过100G的 Flink 任务,强烈建议使用 Checkpoint 恢复任务,而不是使用 Savepoint。
总的来说,Flink CDC中的Checkpoint清理策略需要根据具体的业务需求和场景来选择合适的配置,以达到最佳的性能和资源利用率。