брокера. Есть топик test: 12 партишенов, фактор репликации 3.
Пишу прогу простую на питоне (использую библиотеку python-kafka 2.0.2) Вот как создаю consumer.
consumer = KafkaConsumer(group_id=GROUP_ID,
max_poll_interval_ms=300000,
bootstrap_servers=[f'{SERVER}:{SERVER_PORT}' for SERVER in SERVER_DOMAIN],
enable_auto_commit=ENABLE_AUTO_COMMIT,
auto_offset_reset=AUTO_OFFSET_RESET,
max_poll_records=MAX_POLL_RECORDS,
security_protocol='SSL',
ssl_check_hostname=True,
ssl_cafile=SSL_CAFILE,
ssl_certfile=SSL_CERTFILE,
ssl_keyfile=SSL_KEYFILE,
ssl_password=ssl_password)
consumer.subscribe([TOPIC_NAME])
Так вот.
Во время выполнения consumer.pool() замечаю странности.
При перезапуске второго и третьего брокера сообщения вижу из топика. При перезапуске первого брокера в логах следующее:
Processing response GroupCoordinatorResponse_v0
2022-06-02 16:45:05: DEBUG: <BrokerConnection node_id=2 host=broker3:9093 <connected> [IPv4 ('IP3', 9093)]> Response 110 (1.0950565338134766 ms): GroupCoordinatorResponse_v0(error_code=15, coordinator_id=-1, host='', port=-1)
2022-06-02 16:45:05: DEBUG: Received group coordinator response GroupCoordinatorResponse_v0(error_code=15, coordinator_id=-1, host='', port=-1)
2022-06-02 16:45:05: DEBUG: Group Coordinator Not Available; retry
2022-06-02 16:45:05: DEBUG: Sending group coordinator request for group some_group to broker 2
2022-06-02 16:45:05: DEBUG: Sending request GroupCoordinatorRequest_v0(consumer_group='some_group')
2022-06-02 16:45:05: DEBUG: <BrokerConnection node_id=2 host=broker3:9093 <connected> [IPv4 ('IP3', 9093)]> Request 111: GroupCoordinatorRequest_v0(consumer_group='some_group')
2022-06-02 16:45:05: DEBUG: Received correlation id: 111
2022-06-02 16:45:05: DEBUG: Processing response GroupCoordinatorResponse_v0
В чём может быть причина?
Вроде бы фактор репликации верный. group coordinator должен переехать с отвалившегося брокера на другой.
Подскажите, пожалуйста.
это же дебаг сообщения, а не ошибки. клиент думал, что первый брокер координатор, но он не доступен, поэтому переключилось на другого
прикол в том, что что сообщения не читаются.. я потому и вывел дебаг. То есть, при падении второго или третьего брокера все ок, данные поллятся, а при падении первого -- нет.
Обсуждают сегодня