Kafka Consumer покинул потребительскую группу - PullRequest
0 голосов
/ 18 февраля 2019

Я столкнулся с некоторой проблемой при использовании Кафки.Любая помощь высоко ценится!У меня есть кластер zookeeper и kafka по 3 узла каждый в Docker Swarm.Конфигурацию брокера Kafka вы можете увидеть ниже.

  KAFKA_DEFAULT_REPLICATION_FACTOR: 3
  KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
  KAFKA_MIN_INSYNC_REPLICAS: 2
  KAFKA_NUM_PARTITIONS: 8
  KAFKA_REPLICA_SOCKET_TIMEOUT_MS: 30000
  KAFKA_REQUEST_TIMEOUT_MS: 30000
  KAFKA_COMPRESSION_TYPE: "gzip"
  KAFKA_JVM_PERFORMANCE_OPTS: "-XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80"
  KAFKA_HEAP_OPTS: "-Xmx768m -Xms768m -XX:MetaspaceSize=96m"

Мой случай:

  • 20x Производители, постоянно генерирующие сообщения на тему kafka
  • 1x Потребитель читает и регистрирует сообщения
  • Убить узел kafka (остановка контейнера докера), так что теперь в кластере есть 2 узла брокера Kafka (3-й запустится и автоматически присоединится к кластеру)
  • И получатель больше не потребляет сообщения, поскольку он покинул группу потребителей из-заребалансирование

Существует ли какой-либо механизм, позволяющий потребителю присоединиться к группе после ребалансировки?

Журналы:

 INFO 1 --- [ | loggingGroup] o.a.k.c.c.internals.AbstractCoordinator : [Consumer clientId=kafka-consumer-0, groupId=loggingGroup] Attempt to heartbeat failed since group is rebalancing
 WARN 1 --- [ | loggingGroup] o.a.k.c.c.internals.AbstractCoordinator : [Consumer clientId=kafka-consumer-0, groupId=loggingGroup] This member will leave the group because consumer poll timeout has expired. This means the time between subsequent calls to poll() was longer than the configured max.poll.interval.ms, which typically implies that the poll loop is spending too much time processing messages. You can address this either by increasing max.poll.interval.ms or by reducing the maximum size of batches returned in poll() with max.poll.records.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...