#apache-flink
#apache-flink
Вопрос:
В настоящее время мы переходим с Flink 1.9 на Flink 1.11.1 и наблюдаем неожиданное потребление памяти вне кучи. Наше состояние составляет около 2 ТБ, а используемый сервер состояния — RocksDB. Для безопасной миграции мы выбираем значение : state.backend.rocksdb.memory.managed
true, поскольку это значение по умолчанию, начиная с flink 1.10.
В рабочей среде мы видим, что потребление памяти в диспетчере задач всегда увеличивается и увеличивается, когда мы запрашиваем точку сохранения без отмены. Пожалуйста, найдите здесь экран того, что мы видим в диспетчере задач one :
Пожалуйста, найдите здесь заданную конфигурацию :
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 действует таким образом.
Спасибо
Комментарии:
1. В качестве краткого примечания, все диспетчер задач теперь недоступен из-за слишком большого потребления памяти. Предел достигнут после точки сохранения.
Ответ №1:
Я столкнулся с аналогичной проблемой и решил ее, установив:
state.backend.rocksdb.memory.managed = false
Это известная проблема фрагментации памяти в ссылках Flink 1.10.x и 1.11.x. JIRA.
У меня был длинный поток в списке рассылки Flink, в котором обсуждалось то же самое.