RocksDB в потоке Кафки сообщает о свободном месте, когда есть свободное место - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть приложение Streams с GlobalKtable, поддерживаемым RocksDB, которое не работает.Первоначально я получал сообщение об ошибке, описанное в https://issues.apache.org/jira/browse/KAFKA-6327,, поэтому я обновил RocksDB до v5.14.2, что теперь дает более явную ошибку: org.rocksdb.RocksDBException: While open a file for appending: /kafka_streams/...snip.../000295.sst: No space left on device

Каталог, в который RocksDB попадает на диск (похоже, что для монтирования файла в RHEL достаточно места (Size: 5.4G Used: 2.8G Available: 2.6G Use%: 52%).Я предполагаю, что он на самом деле пытается выделить больше, чем оставшиеся 2.6G, но это кажется маловероятным;в теме не так много данных.

Я нашел подробности о настройке RocksDB вне значений по умолчанию в https://docs.confluent.io/current/streams/developer-guide/config-streams.html#rocksdb-config-setter,, но я не вижу ничего очевидного, что могло бы решить проблему.

Я не нашел ни одногоОтчеты об ошибках, связанных с такой проблемой, и я не могу найти ответ на следующие шаги.


Отредактировано, чтобы добавить: я только что запустил потоковое приложение на своем локальном компьютере разработки в той же среде Kafkaимея проблему выше.В то время как государственные хранилища были загружены, каталог государственных хранилищ дрейфовал до 3.1G, а затем установился на уровне 2.1G.Он никогда не приближался к 5G, доступному на нашем сервере разработки.Я не приблизился к поиску ответа.

1 Ответ

0 голосов
/ 25 февраля 2019

Я так и не нашел ответа на вопрос, почему использование диска в развернутой среде ведет себя так, но в итоге я получил больше места, выделенного из-за отчаяния; поскольку поток обрабатывался, он занимал до 14 ГБ пространства, а затем располагался на уровне 3-4 ГБ. Я предполагаю, что ошибка дискового пространства произошла из-за того, что RocksDB пытался выделить место, а не из-за того, что он записал в него.

Я добавил «практическое правило», согласно которому я должен выделить в 4 раза больше дискового пространства, которое я ожидаю для потоковых приложений.

...