Je dois trouver un moyen de demander à Kafka) une liste de sujets. Je sais que je peux le faire en utilisant le kafka-topics.sh
script inclus dans le bin\
répertoire. Une fois que j'ai cette liste, j'ai besoin de tous les consommateurs par sujet. Je n'ai pas trouvé de script dans ce répertoire ni de classe dans le kafka-consumer-api
bibliothèque qui me permet de le faire.
La raison derrière cela est que je dois comprendre la différence entre le décalage du sujet et les compensations des consommateurs.
Y a-t-il un moyen d'y parvenir? Ou dois-je implémenter cette fonctionnalité dans chacun de mes consommateurs?
Utilisez kafka-consumer-groups.sh
Par exemple
bin/kafka-consumer-groups.sh --list --bootstrap-server localhost:9092
bin/kafka-consumer-groups.sh --describe --group mygroup --bootstrap-server localhost:9092
vous pouvez l'utiliser pour 0.9.0.0. version kafka
./kafka-consumer-groups.sh --list --zookeeper hostname:potnumber
pour afficher les groupes que vous avez créés. Cela affichera tous les noms de groupes de consommateurs.
./kafka-consumer-groups.sh --describe --zookeeper hostname:potnumber --describe --group consumer_group_name
Pour voir les détails
GROUP, TOPIC, PARTITION, CURRENT OFFSET, LOG END OFFSET, LAG, OWNER
Kafka stocke toutes les informations dans le gardien de zoo. Vous pouvez voir toutes les informations relatives aux sujets sous courtiers-> sujets . Si vous souhaitez obtenir tous les sujets par programme, vous pouvez le faire en utilisant l'API Zookeeper.
Il est expliqué en détail dans les liens ci-dessous Tutorialspoint , Guide du programmeur Zookeeper
Les consommateurs de haut niveau sont enregistrés dans Zookeeper, vous pouvez donc récupérer une liste de ZK, de la même manière que kafka-topics.sh
récupère la liste des sujets. Je ne pense pas qu'il y ait un moyen de collecter tous les consommateurs ; toute application qui envoie quelques demandes de consommation est en réalité un "consommateur", et vous ne pouvez pas dire si elles sont déjà terminées.
Du côté du consommateur, il y a métrique JMX exposée pour surveiller le décalage . En outre, il existe Burrow pour la surveillance du décalage.
Je me rends compte que cette question a presque 4 ans maintenant. Depuis lors, beaucoup de choses ont changé dans Kafka. Ceci est mentionné ci-dessus, mais uniquement en petits caractères, je l'écris donc pour les utilisateurs qui trébuchent sur cette question aussi tard que je l'ai fait.
kafka-consumer-groups --bootstrap-server kafka:9092 --describe
--group console-consumer-69763 Consumer group 'console-consumer-69763' has no active members.
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID Host CLIENT-ID
pytest 0 5 6 1 - - -
``