Доступ к KTable потока Kafka, лежащему в основе использования памяти RocksDB - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть потоковое приложение kafka, которое в настоящее время берет 3 темы и объединяет их в KTable.Это приложение находится в микросервисе scala на марафоне, которому выделено 512 МБ памяти для работы.После этого я заметил, что в док-контейнере, на котором запущен микросервис, в конце концов не хватило памяти, и он пытался отладить причину.

Моя текущая теория (при чтении руководства по размерам https://docs.confluent.io/current/streams/sizing.html) заключается в том, что со временем все большее число записей, хранящихся в KTable и, соответственно, в базовой RocksDB, вызывает OOM для микросервиса.Есть ли способ узнать память, используемую базовой реализацией RocksDB по умолчанию?

1 Ответ

0 голосов
/ 24 марта 2019

В случае, если кто-то сталкивается с подобной проблемой, установка переменной среды MALLOC_ARENA_MAX = 2, кажется, исправила это для меня.Для более подробного объяснения почему, пожалуйста, обратитесь к разделу «Почему распределители памяти имеют значение?»и "Tuning glibc" здесь: https://github.com/prestodb/presto/issues/8993.

...