Как отделить потребителя от группы потребителей, не теряя при этом смещения? - PullRequest
0 голосов
/ 17 февраля 2019

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

Можно ли в любом случае начать новую группу потребителей logstash с начальным смещением из последней группы потребителей?

Спасибо

1 Ответ

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

Вы можете использовать сценарии kafka для установки смещения для новой группы.

Пример сценария:

  1. Остановка приложения.
  2. Проверка текущего смещения для группы,Вы можете использовать следующую команду.Вывод будет содержать информацию о текущем смещении, смещении конца журнала, задержке и т. Д. Для каждой темы.

    ./bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group groupId --describe

  3. Установить смещение для нового идентификатора группы, который будетиспользоваться новым приложением (предположим, что смещение для темы, которую вы хотели бы переключить - 10001)

    ./bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group newGroupId --to-offset 10001 --topic topicName --reset-offsets --execute

  4. Удалить topicName из списка тем для старого приложения.

  5. Настройка новой конфигурации logstash с newGroupId идентификатором группы.
  6. Запуск old и new приложений logstash.
...