开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CK和SP不设置自动清理的话,系统会怎样处理,一直堆积下去吗?

Flink CK和SP不设置自动清理的话,系统会怎样处理,一直堆积下去吗?

展开
收起
嘟嘟嘟嘟嘟嘟 2024-01-17 09:40:28 42 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    如果Flink的Checkpoint(CK)和Savepoint(SP)没有设置自动清理,系统不会一直堆积下去。相反,Flink会定期执行垃圾回收操作来释放不再需要的CK和SP文件。

    在Flink中,每个CK和SP文件都会关联一个过期时间。当系统检测到某个CK或SP文件的过期时间已过,且该文件没有被作业引用时,它会被标记为垃圾文件,等待垃圾回收器的处理。

    Flink的垃圾回收器会根据配置的策略定期扫描并清理过期的CK和SP文件。默认情况下,Flink会每隔一段时间(例如30分钟)执行一次垃圾回收操作。这个时间间隔可以通过调整state.backend.rocksdb.cleanup-delay参数来进行调整。

    因此,即使没有设置自动清理,Flink也不会让CK和SP文件无限期地堆积下去。它会通过定期执行垃圾回收操作来释放不再需要的CK和SP文件,以保持系统的可用空间和性能。

    2024-01-17 14:07:48
    赞同 展开评论 打赏
  • 在Flink中,Checkpoint(CK)和Savepoint(SP)是用于数据一致性和故障恢复的重要机制。

    如果不设置自动清理,随着时间的推移,Checkpoint和Savepoint的数据可能会一直堆积,导致存储空间逐渐被占满。这可能会引发以下问题:

    1. 存储空间耗尽:如果Checkpoint和Savepoint数据不断积累且未被清理,那么系统的存储空间将很快被耗尽。这可能导致新的任务无法创建Checkpoint或Savepoint,从而影响数据一致性和故障恢复。
    2. 性能下降:随着存储空间的减少,Flink在读写数据时可能需要频繁地进行磁盘I/O操作,这可能导致性能下降。
    3. 无法回滚到旧状态:如果系统需要回滚到之前的状态,但没有足够的存储空间来保存旧的Checkpoint或Savepoint数据,那么可能无法实现回滚。

    为了避免这些问题,通常建议设置自动清理策略,定期清理旧的Checkpoint和Savepoint数据。这样既能保证足够的存储空间,又能确保系统性能和数据一致性。

    2024-01-17 09:59:43
    赞同 展开评论 打赏
  • CK系统默认保留1个,这个还好,SP的话如果你配置了自动生成,但是没有配置自动清理会一直在OSS里面保留。此回答整理自钉群“实时计算Flink产品交流群”

    2024-01-17 09:51:22
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载