Неправильный Kafka consumer_offset

#apache-kafka #apache-zookeeper #confluent-platform

#apache-kafka #apache-zookeeper #confluent-платформа

Вопрос:

В настоящее время я использую лицензию сообщества confluent platform. Я запустил Zookeeper, Kafka и schema-registry — все используются в локальном режиме. Однако при первом запуске schema-registry 50 сообщений отправляются и сохраняются в разделе __consumer_offset (__consumer_offsets-от 0 до __consumer_offsets-49). Эти сообщения хранятся в журналах kafka, и когда я пытаюсь снова запустить службы, происходит сбой. Чтобы быть более точным: Zookeeper работает, но Kafka завершается ошибкой:

«ОШИБКА при завершении работы брокера, поскольку все каталоги журналов завершились с ошибкой».

Как предлагалось в некоторых других сообщениях, я удалил журнал.каталог dirs, на который ссылается файл zookeeper.properties и журнал.каталог каталогов, на который ссылается файл server.properties. После этого я могу снова запустить kafka без каких-либо ошибок, но 50 сообщений снова сохраняются в __consumer_offset при запуске schema-registry, и после остановки kafka и попытки снова запустить kafka происходит сбой с той же ошибкой.

Любая помощь приветствуется. 🙂

Редактировать:

Над этой ошибкой есть другая ошибка, в которой говорится:

«ОШИБКА Не удалось очистить журнал для _schemas-0 в каталоге / mnt/c/Users/Username/Desktop/Big_Data/confluent-6.0.0/kafka-logs из-за исключения IOException (kafka.server.Исключение LogDirFailureChannel) java.io.IOException: недопустимый аргумент»

а также два предупреждения:

«ПРЕДУПРЕЖДЕНИЕ [ReplicaManager broker=0] О прекращении обслуживания реплик в каталоге / mnt /c/Users/Username/Desktop/Big_Data/confluent-6.0.0/kafka-logs (kafka.server.ReplicaManager)»

и

«ПРЕДУПРЕЖДЕНИЕ [ReplicaManager broker=0] Брокер 0 остановил выборку для разделов __consumer_offsets-22, … (затем перечислены все 50 смещений)»

Комментарии:

1. Реестр схемы не фиксирует смещения, поэтому я не думаю, что проблема в этой теме

2. @Onecricket спасибо за быстрый ответ! Есть идеи о том, что может вызвать проблему тогда?

3. Это только реестр схемы, вызывающий проблему? Не могли бы вы провести тестирование с любым другим потребителем? Под «50 сообщениями», я предполагаю, вы имеете в виду 1 сообщение на раздел, что кажется странным, потому что я думал, что фиксация группового смещения будет представлять собой только одно сообщение для одного раздела

4. @Onecricket еще раз спасибо за ответ! 🙂 Я протестировал его снова и использовал Apache Nifi в качестве потребителя (процессор: «consumekafkarrecord_2_0), и его поведение такое же, как и в реестре схемы. Так что, я думаю, вы правы — ошибка вызвана не реестром схемы. Кроме того, это действительно 1 сообщение на раздел, как вы и предлагали. Я также попробовал NiFi als Producer. Там я получаю 50 сообщений __transaction_state, то есть снова по 1 сообщению на раздел.

5. @OneCricketeer Теперь я запустил Kafka и Zookeeper с помощью сценариев запуска Windows и запустил реестр Schema с помощью сценария .sh (поскольку Windows не поддерживается). Теперь — насколько я могу судить, поскольку я только что немного протестировал — кажется, все работает нормально! Так что это может быть проблемой с WSL, но поведение по-прежнему кажется мне странным. Большое тебе спасибо, один мошенник!