我有一份流媒体工作:从kafka读取-->将事件Map到其他一些数据流-->按(0)键-->减少15秒的时间窗口处理时间,并写回redis接收器。启动时,一切正常。问题是,过了一段时间,磁盘空间被我认为是链接的检查点填满了。我的问题是,是否应该在链接作业运行时清除/删除检查点?找不到有关此的任何资源。我使用的文件系统后端可以写入/tmp(没有hdfs设置)
qgelzfjb1#
默认情况下,检查点不会在外部持久化,仅用于从失败中恢复作业。当程序被取消时,它们被删除。如果您使用外部化的检查点,那么它有两个策略externalizedcheckpointcleanup.retain\u on\u cancellation:取消作业时保留外部化的检查点。请注意,在这种情况下,取消后必须手动清除检查点状态。externalizedcheckpointcleanup.delete_on_cancellation:取消作业时删除外部化的检查点。只有作业失败时,检查点状态才可用。更多细节https://ci.apache.org/projects/flink/flink-docs-release-1.4/ops/state/checkpoints.html
alen0pnh2#
flink在运行时清理检查点文件。有一些角落的情况下,它“忘记”清理所有文件,以防系统故障。但对于Flink1.3来说,社区正在努力解决所有这些问题。在您的情况下,我假设您没有足够的磁盘空间将windows的数据存储在磁盘上。
2条答案
按热度按时间qgelzfjb1#
默认情况下,检查点不会在外部持久化,仅用于从失败中恢复作业。当程序被取消时,它们被删除。
如果您使用外部化的检查点,那么它有两个策略
externalizedcheckpointcleanup.retain\u on\u cancellation:取消作业时保留外部化的检查点。请注意,在这种情况下,取消后必须手动清除检查点状态。
externalizedcheckpointcleanup.delete_on_cancellation:取消作业时删除外部化的检查点。只有作业失败时,检查点状态才可用。
更多细节https://ci.apache.org/projects/flink/flink-docs-release-1.4/ops/state/checkpoints.html
alen0pnh2#
flink在运行时清理检查点文件。有一些角落的情况下,它“忘记”清理所有文件,以防系统故障。但对于Flink1.3来说,社区正在努力解决所有这些问题。
在您的情况下,我假设您没有足够的磁盘空间将windows的数据存储在磁盘上。