我有一个流媒体工作:
从Kafka读取 - >将事件映射到其他一些DataStream - >密钥(0) - >减少15秒处理时间的时间窗口并写回Redis接收器。
启动时,一切都很好。问题是,经过一段时间后,我认为链接检查点的磁盘空间已满。
我的问题是,在链接作业运行时是否应该清理/删除检查点?找不到任何资源。
我使用的文件系统后端写入/ tmp(没有hdfs设置)
答案 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