Приложение Kafka Streams открывает слишком много файлов на серверах Kafka - PullRequest
0 голосов
/ 10 ноября 2018

Я работал над приложением, основанным на API-интерфейсе java kafka-streams, цель которого - обработать поток данных, поступающих из одной темы kafka, и преобразовать его в другую тему.

Как представляется, всякий раз, когда я начинаю создавать сообщения с использованием приложения kafka-streams, файловые дескрипторы просто продолжают открываться на используемых мной брокерах kafka, и они никогда не закрываются, что означает, что в конечном итоге сервер kafka заканчивается слишком большим количеством открытых файлы, а также демоны kafka и zookeeper.

Я использую kafka-streams-1.0.1 API jar для Java и работаю на JDK 11. Кластер kafka имеет версию Kafka 1.0.0.

Конфигурация моего приложения включает следующие конфиги производителя kafka:

  • batch.size: установлено 100 000 сообщений.
  • linger.ms: установлено на 1000 миллисекунд.
  • buffer.memory: установить в байтовом эквиваленте 5 Мегабайт.

Сама обработка потока очень проста и состоит из:

stream.map((k,v) -> handle(k,v)).filter((k,v) -> v != null).to(outgoingTopic);

Буду признателен за любые ваши предложения, ребята.

Ответы [ 2 ]

0 голосов
/ 08 июня 2019

Кажется, что переопределение экстрактора меток времени потоков Kafka не очень хорошая идея, если сообщения могут привести к неправильным меткам времени. После возврата к экстрактору метки времени по умолчанию у меня все было исправлено

0 голосов
/ 26 ноября 2018

Используйте Java 8 или Java 10 или ниже и Используйте последнюю Кафку, https://kafka.apache.org/quickstart

См. Некоторые сообщения здесь об ошибке поданной https://issues.apache.org/jira/browse/KAFKA-6855

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...