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

Flink请问该如何手动清理缓存?

Flink请问该如何手动清理缓存?

展开
收起
真的很搞笑 2024-06-16 16:52:37 232 0
8 条回答
写回答
取消 提交回答
  • 如果你使用的是基于内存的状态后端(如MemoryStateBackend),状态数据默认保存在JVM堆内存中,通常不需要手动清理。
    对于基于磁盘的状态后端(如RocksDBStateBackend),状态数据保存在磁盘上,可以通过重启作业并使用新的目录来实现清理。可以通过删除Flink作业的Checkpoint和Savepoint文件来清理。这些文件通常保存在配置的state.checkpoints.dir和state.savepoints.dir目录下
    image.png

    ca参考文档

    2024-08-05 22:33:50
    赞同 展开评论 打赏
  • 手动清理Flink相关的缓存或废弃文件,主要涉及以下几个场景:

    1. 清理作业快照(Savepoints)

    • 操作步骤<:
      1. 登录实时计算控制台
      2. 选择对应的工作空间,点击“操作”列下的“控制台”。
      3. 进入“作业运维”页面,点击目标作业名称。
      4. 单击“状态集管理”。
      5. 切换到“历史”页签,在“作业快照”列表中找到目标快照。
      6. 在目标快照的“操作”列,选择“更多 > 删除此快照”。
      7. 确认删除操作。

    2. 清理Paimon表的废弃文件

    • 操作步骤[2]:
      1. 实时计算控制台上,新建查询脚本。
      2. 输入SQL语句:CALL.sys.remove_orphan_files('<database-name>.<table-name>');
        • <catalog-name> 替换为Paimon Catalog的名称。
        • <database-name><table-name> 分别替换为数据库和表的名称。
      3. 可以选择性地添加时间参数以指定清理的文件范围,如:CALLmycat.sys.remove_orphan_files('mydb.mytbl', '2023-10-31 12:00:00');
      4. 运行SQL语句,查看“结果”选项卡以确认删除文件的总数。
    2024-08-05 16:12:33
    赞同 展开评论 打赏
  • Flink版的作业快照手动清理,您需要进入作业的状态集管理,具体步骤如下:

    登录实时计算控制台(实时计算控制台)。
    进入目标作业的运维页面,点击状态集管理。
    在历史页签的作业快照列表中,找到要删除的快照。
    选择更多 > 删除此快照,然后确认删除。image.png

    2024-07-24 16:20:28
    赞同 展开评论 打赏
  • 阿里云大降价~

    登录实时计算控制台: 首先,登录阿里云实时计算控制台。

    新建查询脚本: 在控制台上,新建一个查询脚本。具体操作可参考相关文档中的“查询脚本”部分。

    编写并执行SQL清理命令: 在查询脚本的文本编辑区域,输入如下SQL语句模板来调用清理函数:
    CALL <catalog-name>.sys.remove_orphan_files('.');

    2024-07-24 11:54:29
    赞同 展开评论 打赏
  • Job Manager下有这个web.tmpdir 的配置路径,所有上传的jar包都会存在这里。手动清除就可以。

    web.tmpdir:/tmp/flink-web-600c749d-ca2b-4467-a557-923c955632a8
    image.png

    ——参考链接

    2024-07-22 08:08:48
    赞同 1 展开评论 打赏
  • 北京阿里云ACE会长

    Flink Web UI 提供了一些操作来触发缓存清理,比如触发检查点(Checkpoints)或者重启任务。
    可以通过设置 state.backend.rocksdb.memory.managed 为 false 来避免 Flink 管理状态的大小,但这需要你手动管理 RocksDB 的缓存大小。

    设置 taskmanager.network.memory.fraction 和 taskmanager.network.memory.min 来调整大小,但这不会清理现有缓存,而是调整缓存的容量。

    2024-07-21 20:49:27
    赞同 展开评论 打赏
  • 要手动清理Flink作业的缓存或特定的废弃文件,您可以按照以下步骤操作:
    image.png

    手动删除指定作业快照

    1. 登录实时计算控制台:首先,登录到阿里云实时计算控制台。
    2. 进入作业运维页面:在控制台中,找到并单击对应工作空间下的“操作”列,选择“控制台”。随后,在页面中点击“作业运维”。
    3. 选择目标作业:在作业运维列表中,单击您想要管理其快照的目标作业名称。
    4. 进入状态集管理:点击作业详情页面中的“状态集管理”选项。
    5. 查找并删除快照:在“历史”页签下,浏览“作业快照”列表,找到您想要删除的快照。在该快照的“操作”列,选择“更多 > 删除此快照”,然后确认操作。

    清理Paimon表的废弃文件

    对于因作业报错重启等原因在Paimon表目录下遗留的未提交临时文件,可以通过以下步骤清理:

    1. 新建查询脚本:在实时计算控制台上,创建一个新的查询脚本。具体操作可参考控制台的相应帮助文档。
    2. 执行清理命令:在查询脚本的文本编辑区域,输入清理命令:
      CALL `<catalog-name>`.sys.remove_orphan_files('<database-name>.<table-name>');
      
      其中,<catalog-name> 是Paimon Catalog的名称,<database-name> 是数据库名称,<table-name> 是表名称。
    3. 指定清理时间范围(可选):若需指定清理创建时间不早于某个时间点的废弃文件,可在命令中添加相应的时间参数。例如:
      CALL `<catalog-name>`.sys.remove_orphan_files('<database-name>.<table-name>', TIMESTAMP '2023-10-31 12:00:00');
      

    相关链接
    作业状态集管理 从(其他作业)指定快照恢复作业 https://help.aliyun.com/zh/flink/user-guide/status-set-management

    2024-07-20 14:08:53
    赞同 展开评论 打赏
  • 手动清理缓存通常涉及以下步骤:
    您需要确定Flink作业中缓存的位置。确保停止所有相关的Flink作业。清理状态存储清理中间结果
    根据您的作业类型和配置,可能还有其他类型的缓存需要清理,

    2024-07-20 14:08:42
    赞同 展开评论 打赏
滑动查看更多

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

相关产品

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

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