Как получить смещение конца журнала всех разделов для данной темы kafka с помощью командной строки kafka? - PullRequest
0 голосов
/ 20 мая 2019

Когда я описываю тему kafka, она не показывает смещение конца журнала какого-либо раздела, но показывает все другие метаданные, такие как ISR, реплики, Leader.

Как посмотреть смещение конца журнала для данной темы?

Запустил это: ./kafka-topics.sh --zookeeper zk-service: 2181 --описать --topic "__consumer_offsets"

Выходные данные Нет смещенного столбца.

Примечание: нужно только смещение конца журнала.

Ответы [ 2 ]

1 голос
/ 20 мая 2019

Ниже приведена команда, которая вам понадобится для получения смещения всех разделов для данной темы kafka для для данной группы потребителей :

kafka-consumer-groups --bootstrap-server <kafka-broker-list-with-ports> --describe --group <consumer-group-name>

Пожалуйста,обратите внимание, что <consumer-group-name> в конце важен, поскольку смещения фиксируются потребителями, которые обычно являются частью группы потребителей.

Вывод этой команды может выглядеть примерно так:

TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID <topic-name> 0 62 62 0 <consumer-id> <host> <client>

Однако в своем посте вы пытаетесь получить эту информацию для внутренней темы __consumer_offsets, поэтому вам понадобится группа потребителей, в которой потребители будут использовать эту внутреннюю тему.Возможно, вы могли бы сделать следующее:

  1. kafka-console-consumer --bootstrap-server <kafka-broker-list-with-ports> --topic __consumer_offsets --formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter" --max-messages 5

Вывод вышеуказанной команды:

[<consumer-group-name>,<topic-name>,0]::[OffsetMetadata[481690879,NO_METADATA],CommitTime 1479708539051,ExpirationTime 1480313339051]

Просто используйте <consumer-group-name> из выходных данных и поместите его в команду kafka-consumer-groups, упомянутую в начале, и вы получите сведения о смещении для всех 50 разделов для для данной группы потребителей только.

Надеюсь, это поможет.

0 голосов
/ 21 мая 2019

Поскольку вы ищете только смещение конца журнала для темы, вы можете использовать kafka-run-class с классом kafka.tools.GetOffsetShell.

Предполагая, что ваша тема __consumer_offsets, вы получите конечное смещение, выполнив:

./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --time -1 --topic __consumer_offsets

Измените --broker-list localhost:9092 на желаемый адрес Кафки. Это перечислит все смещения конца журнала для каждого раздела в теме.

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