Я использую версию kafka 0.9.0.0, и я хочу подсчитать количество сообщений в теме kafka без использования сценария администратора kafka-console-consumer.sh. Я пробовал все команды в ответе Java, How to get number of messages in a topic in apache kafka Но ни один из них не дает результата. Может ли кто-нибудь помочь мне здесь.Подсчет Количество сообщений, хранящихся в теме kafka
ответ
Вы могли бы попытаться выполнить следующую команду:
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092,localhost:9093,localhost:9094 --topic test-topic --time -1
Затем суммировать все счетчики для каждого раздела.
Когда я получу действительный ответ, я повышу его. Thanks –
вы можете суммировать все отсчеты с помощью этого:
.../bin/kafka-run-class kafka.tools.GetOffsetShell --broker-list <<broker_1>>:9092,<<broker_2:9092>>... --topic <<your_topic_name>> --time -1 | while IFS=: read topic_name partition_id number; do echo "$number"; done | paste -sd+ - | bc
Спасибо! Немного проще суммировать: kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list $ KAFKA_CLUSTER_HOSTS --topic $ TOPIC_NAME - время -1 | tr ":" "" | awk '{sum + = $ 3} END {print sum}' – ozma
@ozma вместо 'tr' вы также можете использовать' awk -F: ': D –
Технически говоря, вы можете просто потреблять все сообщения от темы и сосчитать их:
Пример:
kafka-run-class.sh kafka.tools.SimpleConsumerShell --broker-list localhost:9092 --topic XYZ --partition 0*
Однако подход kafka.tools.GetOffsetShell
даст вам смещения, а не фактическое количество сообщений в теме. Это означает, что если тема уплотняется, вы получите два разных числа, если вы будете считать сообщения, потребляя их или читая смещения.
Тема уплотнительный: https://kafka.apache.org/documentation.html#design_compactionbasics
Чтение потенциально невыразимых (миллионов?) сообщений из темы в Kafka (которые сохраняются до очистки, а не как JMS - постоянны до чтения) не являются жизнеспособными, если время не является относительным. –
- 1. Java, Как получить количество сообщений в теме в apache kafka
- 2. Google PubSub - подсчет сообщений в теме
- 3. Как проверить отсутствие сообщений в теме kafka
- 4. Увеличьте количество разделов в теме Kafka от клиента Kafka
- 5. Как получить количество сообщений JMS в теме
- 6. Получить количество сообщений в теме PHP
- 7. Обновить сообщение в теме Kafka
- 8. Проверьте наличие сообщения в теме Kafka
- 9. Количество ограничений группы в kafka
- 10. Подсчет элементов массива, хранящихся в хеш
- 11. Kafka не заполняет разделы равномерно в теме
- 12. поток сообщений производителя Kafka
- 13. Kafka установил максимальное количество сообщений для чтения из темы
- 14. Порядок сообщений Apache Kafka с несколькими разделами
- 15. kafka spout не может подключиться к kafka теме
- 16. Потребление сообщений с использованием Kafka Consumer - Java
- 17. Как получить сообщение «Нет» сообщений по теме От Kafka с помощью JAVA API
- 18. Показать количество сообщений в Wordpress
- 19. большое количество каналов Kafka
- 20. Репликация сообщений из одной темы Kafka в другую тему kafka
- 21. Внедрение фильтрации для сообщений kafka
- 22. Kafka Consumer - получение сообщений непоследовательно
- 23. Kafka Потребитель не получает сообщений
- 24. Просмотр сообщений через разделы Kafka
- 25. Порядок размещения сообщений и альтернативы kafka
- 26. Подсчет всего сообщений ООН-ответ
- 27. Подсчет количества полученных сообщений?
- 28. Подсчет словесных сообщений
- 29. Подсчет предупреждающих сообщений в MATLAB
- 30. Подсчет личных сообщений
Вы хотите работать на уплотненных темы, а потому, что устраняет кучу вариантов, как сравнение начала и продлились коррекции. –
См. Мой ответ [здесь] (https://stackoverflow.com/a/47313863/2017567) для решения с использованием клиента Java. –