何时清理flink检查点文件?

时间:2017-03-13 12:09:00

标签: apache-flink flink-streaming

我有一个流媒体工作:

从Kafka读取 - >将事件映射到其他一些DataStream - >密钥(0) - >减少15秒处理时间的时间窗口并写回Redis接收器。

启动时,一切都很好。问题是,经过一段时间后,我认为链接检查点的磁盘空间已满。

我的问题是,在链接作业运行时是否应该清理/删除检查点?找不到任何资源。

我使用的文件系统后端写入/ tmp(没有hdfs设置)

2 个答案:

答案 0 :(得分:1)

Flink在运行时清理检查点文件。在一些极端情况下,如果系统出现故障,它“忘记”清理所有文件。 但对于Flink 1.3,社区正在努力解决所有这些问题。

在您的情况下,我假设您没有足够的磁盘空间来存储磁盘上的Windows数据。

答案 1 :(得分:0)

默认情况下,检查点不会在外部持久存在,仅用于从失败中恢复作业。取消程序时会删除它们。

如果您正在使用外部检查点,那么它有两个策略

ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION:取消作业时保留外部化检查点。请注意,在这种情况下,您必须在取消后手动清理检查点状态。

ExternalizedCheckpointCleanup.DELETE_ON_CANCELLATION:取消作业时删除外部化检查点。仅当作业失败时,检查点状态才可用。

了解更多详情 https://ci.apache.org/projects/flink/flink-docs-release-1.4/ops/state/checkpoints.html