Потребительская группа застряла в «ребалансировке», хотя потребителей нет - PullRequest
1 голос
/ 30 апреля 2020

Я использую kafka версии 2.4.1 (недавно обновлённую до 2.4.1 с 2.2.0) и заметил странную проблему.

Даже если приложение (потоки kafka) не работает (приложение не запущено), но команда группы потребителей возвращает состояние в качестве перебалансировки. Наше приложение работает как kubernetes pod.

root@bastion-0:# ./kafka-consumer-groups --describe --group groupname --bootstrap-server kafka-0.local:9094 

Warning: Consumer group 'groupname' is rebalancing.

Я ждал некоторое время (30 минут), и все же команда сообщает о «перебалансировке», даже если приложение не работает.

Даже если я пытаюсь удалить группу, выдается следующее сообщение:

root@bastion-0:/app/kafka_2.12-2.4.1/bin# ./kafka-consumer-groups.sh --delete --group group1  --bootstrap-server kafka.local:9094 

Error: Deletion of some consumer groups failed:
* Group 'group1' could not be deleted due to: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.GroupNotEmptyException: The group is not empty.
root@bastion-0:/app/kafka_2.12-2.4.1/bin# ./kafka-consumer-groups.sh --delete --group group2  --bootstrap-server kafka.local:9094 

Error: Deletion of some consumer groups failed:
* Group 'group2' could not be deleted due to: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.GroupNotEmptyException: The group is not empty.

Когда я смотрю на участников группы, в списке отображаются участники, даже если приложение НЕ запущено. Это из-за нового протокола перебаланса (кооперативного перебалансирования)?

Откуда ./kafka-consumer-groups читает информацию о членстве в группе. Сохраняет ли он информацию об участнике, если приложение не работает?

Обновление :

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

Новое обновление Кроме того, я обнаружил, что координатором группы для всех групп был один из узлов в кластере kafka, и когда я перезагрузил этот узел, проблема исчезла.

Вопрос :

Где хранятся метаданные группы? Может ли проблема быть связана с поврежденным зоопарком?

...