Я потерял доступ к Кондуктору. (Бесплатная версия не поддерживает кластеры с несколькими брокерами после окончания пробного периода.)
Я также не могу получить лицензию, потому что их веб-сайт не разрешает запросы с некорпоративных адресов электронной почты.
Я хочу проверить количество событий/сообщений в каждой теме/разделе с помощью инструментов Kafka CLI.
Я не мог понять, как это сделать.
./kafka-topics.sh --describe показывает темы, разбивку разделов, лидеров, реплики и ISR. Он не показывает смещения или водяные знаки../kafka-get-offsets.sh показывает смещения для каждого раздела, но это не то же самое, что количество сообщений, поскольку тема могла быть очищена, а это означает, что наименьшее смещение может не быть нулевым.
Чтобы получить количество сообщений в каждом разделе, вы можете использовать инструмент 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 можно использовать для поиска списка модулей, но знаете ли вы, как можно найти дополнительную информацию о каждом модуле? Есть ли онлайн-документация?
Большой. Насколько мне известно, документации не так уж и много. Вы можете попробовать использовать --help в команде, чтобы узнать, предоставит ли это дополнительную информацию.
Кроме того, я подумываю о запуске побочного проекта по созданию интерфейса электронного приложения для Kafka в качестве проекта с открытым исходным кодом для замены/улучшения того, что предлагает Conduktor. Conduktor в целом неплох, но может быть немного неуклюжим. Если кто-то хочет мне помочь в этом, пожалуйста, свяжитесь.