Как проверить количество событий по теме Kafka с помощью CLI?

Я потерял доступ к Кондуктору. (Бесплатная версия не поддерживает кластеры с несколькими брокерами после окончания пробного периода.)

Я также не могу получить лицензию, потому что их веб-сайт не разрешает запросы с некорпоративных адресов электронной почты.

Я хочу проверить количество событий/сообщений в каждой теме/разделе с помощью инструментов Kafka CLI.

Я не мог понять, как это сделать.

  • ./kafka-topics.sh --describe показывает темы, разбивку разделов, лидеров, реплики и ISR. Он не показывает смещения или водяные знаки.
  • ./kafka-get-offsets.sh показывает смещения для каждого раздела, но это не то же самое, что количество сообщений, поскольку тема могла быть очищена, а это означает, что наименьшее смещение может не быть нулевым.

Кроме того, я подумываю о запуске побочного проекта по созданию интерфейса электронного приложения для Kafka в качестве проекта с открытым исходным кодом для замены/улучшения того, что предлагает Conduktor. Conduktor в целом неплох, но может быть немного неуклюжим. Если кто-то хочет мне помочь в этом, пожалуйста, свяжитесь.

FreelanceConsultant 17.02.2024 16:42
Построение конвейеров данных в реальном времени с Apache Kafka: Руководство по Python
Построение конвейеров данных в реальном времени с Apache Kafka: Руководство по Python
Apache Kafka - популярная платформа распределенной потоковой передачи данных, которую можно использовать для построения конвейеров данных в реальном...
1
1
292
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы получить количество сообщений в каждом разделе, вы можете использовать инструмент kafka-run-class для запуска метода kafka.tools.GetOffsetShell. Для каждой темы и раздела вы можете получить самые ранние и самые поздние смещения, которые указывают количество сообщений.

Вот как вы можете получить последнее смещение (которое, по сути, представляет собой количество сообщений) для каждого раздела:

kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list <broker_host>:<broker_port> --topic <topic_name> --time -1

В приведенной выше команде --time -1 получает последнее смещение. Если вы хотите получить самое раннее смещение, вы можете использовать --time -2.

Эй, спасибо за этот отличный ответ! Отмечу, что ./kafka-run-class.sh --list-modules можно использовать для поиска списка модулей, но знаете ли вы, как можно найти дополнительную информацию о каждом модуле? Есть ли онлайн-документация?

FreelanceConsultant 17.02.2024 19:06

Большой. Насколько мне известно, документации не так уж и много. Вы можете попробовать использовать --help в команде, чтобы узнать, предоставит ли это дополнительную информацию.

ghowkay 17.02.2024 20:46

Другие вопросы по теме