【发布时间】: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