apache kafka - quickstart - Lista de consumidores de Kafka
kafka node js (4)
Kafka almacena toda la información en zookeeper. Puede ver toda la información relacionada con el tema en brokers-> temas . Si desea obtener todos los temas mediante programación, puede hacerlo utilizando la API de Zookeeper.
Se explica en detalle en los siguientes enlaces Tutorialspoint , guía del programador de Zookeeper
Necesito encontrar una manera de pedirle a Kafka una lista de temas. Sé que puedo hacerlo usando el script kafka-topics.sh
incluido en el directorio bin/
. Una vez que tenga esta lista, necesito a todos los consumidores por tema. No pude encontrar un script en ese directorio, ni una clase en la biblioteca kafka-consumer-api
que me permita hacerlo.
La razón detrás de esto es que necesito descubrir la diferencia entre la compensación del tema y las compensaciones de los consumidores.
¿Hay una manera de lograr esto? ¿O necesito implementar esta funcionalidad en cada uno de mis consumidores?
Los consumidores de alto nivel están registrados en Zookeeper, por lo que puede obtener una lista de ZK, de manera similar a como kafka-topics.sh
obtiene la lista de temas. No creo que haya una manera de cobrar a todos los consumidores; cualquier aplicación que envíe unas pocas solicitudes de consumo es en realidad un "consumidor", y no se puede decir si ya están terminadas.
En el lado del consumidor, hay una métrica JMX expuesta para monitorear el retraso: http://docs.confluent.io/1.0.1/kafka/monitoring.html#consumer-metrics . Además, hay Burrow para el monitoreo de retraso.
Puedes usar esto para 0.9.0.0. versión kafka
./kafka-consumer-groups.sh --list --zookeeper hostname:potnumber
para ver los grupos que has creado. Esto mostrará todos los nombres de los grupos de consumidores.
./kafka-consumer-groups.sh --describe --zookeeper hostname:potnumber --describe --group consumer_group_name
Para ver los detalles
GROUP, TOPIC, PARTITION, CURRENT OFFSET, LOG END OFFSET, LAG, OWNER
Utilice kafka-consumer-groups.sh
Por ejemplo
bin/kafka-consumer-groups.sh --list --bootstrap-server localhost:9092
bin/kafka-consumer-groups.sh --describe --group mygroup --bootstrap-server localhost:9092