что это за тема "__consumer_offsets" в Кафке - PullRequest
0 голосов
/ 13 декабря 2018

Когда я запускаю эту команду, я получаю 2 темы.Я знаю, что создал тестовую тему, но вижу дополнительную тему под названием "__consumer_offsets".Из названия следует, что оно связано со смещениями потребителей, но как оно используется?

$ bin/kafka-topics.sh --list --zookeeper localhost:2181 __consumer_offsets test

$ bin/kafka-topics.sh --describe --zookeeper localhost:2181
Topic:__consumer_offsets        PartitionCount:50       ReplicationFactor:1     Configs:segment.bytes=104857600,cleanup.policy=compact,compression.type=producer
        Topic: __consumer_offsets       Partition: 0    Leader: 0       Replicas: 0     Isr: 0
        Topic: __consumer_offsets       Partition: 1    Leader: 0       Replicas: 0     Isr: 0
                      *
                      *
                      *
        Topic: __consumer_offsets       Partition: 48    Leader: 0       Replicas: 0     Isr: 0
        Topic: __consumer_offsets       Partition: 49    Leader: 0       Replicas: 0     Isr: 0

Это происходит в Kafka 1.1.0 и почему50 перегородок.Также ищем способ отключить это, потому что каждый раз, когда я пытаюсь запустить «описать» темы, сначала он печатает 50 разделов __consumer_offsets, а затем печатает мои темы.

Ответы [ 3 ]

0 голосов
/ 13 декабря 2018

Тема __consumer_offsets используется потребителями для хранения смещений прочитанного сообщения.Он разрешает восстановление, когда потребитель перезапускает, он прочитает последнюю позицию, которую он потребляет до того, как он остановился, и обработает следующее смещение.

@ cricket_007 был прав, вы можете иметь дубликат по умолчанию в Kafka, это нахотя бы однажды использованная семантика.

0 голосов
/ 14 декабря 2018

В начальных версиях Kafka офсет управлялся в zookeeper, но с течением времени Kafka постоянно развивался, вводя множество новых функций.Теперь Kafka управляет смещением в теме внутреннего / системного уровня, т.е. __consumer_offsets.

Всякий раз, когда вы создаете тему без явного указания количества разделов, Kafka в конечном итоге создает 50 разделов по умолчанию для этой темы.То же самое относится к теме __consumer_offsets.

0 голосов
/ 13 декабря 2018

потребители хранят последний смещенный идентификатор сообщения в теме kafka __consumer_offsets на основе идентификатора группы потребителей.
Это позволяет различным потребителям (очевидно, с другим идентификатором потребителя) обрабатывать следующее сообщение после последнего использованного сообщения и избегатьобработка повторяющихся сообщений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...