【问题标题】:Flink 1.11.1 off-heap Memory growing using RocksDbStateBackendFlink 1.11.1 堆外内存使用 RocksDbStateBackend 增长
【发布时间】:2020-10-02 14:01:51
【问题描述】:

我们目前正在从 Flink 1.9 迁移到 Flink 1.11.1,并且我们看到了意外的堆外内存消耗。 我们的状态大约是 2TB,使用的状态后端是 RocksDb。 为了进行安全迁移,我们选择设置: state.backend.rocksdb.memory.managed 为 true,因为它是从 flink 1.10 开始的默认值。

在生产环境中,当我们请求保存点而不取消时,我们看到任务管理器的内存消耗一直在增加,而且会越来越高。 请在此处找到我们在一个任务管理器上看到的屏幕:

请在此处找到已设置的配置:

taskmanager.memory.task.heap.size: 30720m
taskmanager.memory.managed.size: 35840m
taskmanager.memory.task.off-heap.size: 20480m
taskmanager.memory.network.max: 5120m

关于我们应该如何确保内存使用上限的任何建议?假设问题与 RocksDbStateBackend 相关,我是否走错了路?

仅供参考。 2 个版本并行运行,只有 Flink 1.11.1 是这样运行的。

谢谢

【问题讨论】:

  • 作为一个快速说明,由于内存消耗,所有任务管理器现在都无法访问。保存点后已达到限制。

标签: apache-flink


【解决方案1】:

我遇到了类似的问题并通过设置解决了它:

state.backend.rocksdb.memory.managed = false

这是 Flink 1.10.x 和 1.11.x 中已知的内存碎片问题。 JIRA Link.

我在 Flink 邮件列表中有一个很长的 thread 讨论相同的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 2013-01-09
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    相关资源
    最近更新 更多