У меня проблема в том, что многие мои клиенты Kafka из одной группы потребителей не завершили работу правильно, и, таким образом, кластер Kafka считает, что они все еще подключены.Таким образом, я не могу подключиться к группе потребителей с новой версией моего клиента.Он застрянет на этапе перебалансировки.
Согласно документации, они должны быть удалены после session.timeout.ms
или максимум group.max.session.timeout.ms
.Сначала я попытался установить session.timeout.ms
на 30000
миллисекунды (30 секунд), но он не был указан при запуске Kafka.group.max.session.timeout.ms
было установлено на 300000 миллисекунд (5 минут) в этот момент времени.Потребители не были удалены через 30 секунд.
После этого я попытался уменьшить group.max.session.timeout.ms
до 30000 миллисекунд (30 секунд) и перезапустил Kafka.Однако снова все клиенты просто остались в группе потребителей.
Теперь, примерно через 2 часа, и клиенты по-прежнему подключены к группе потребителей.
Я пытался удалитьгруппа потребителей с:
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 \
--delete --group GroupName
, что дает мне:
* Group 'GroupName' could not be deleted due to: NON_EMPTY_GROUP
К сожалению, здесь нет флага --force
.
ДалееЯ попытался составить список всех членов группы потребителей с помощью этой команды:
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 \
--members --group GroupName --describe
Это дает мне 40-50 членов группы потребителей (все они должны быть неактивны, потому что остановлен единственный активный потребитель).
Есть ли способ, как заставить Кафку очистить всех потребителей из этой группы или принудительно удалить всю группу потребителей?