web-dev-qa-db-fra.com

Kafka liste de consommateurs

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?

33
Tavo

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
61
Basanth Roy

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
12
jack AKA karthik

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

3
Prasad

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.

2
sandris

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.

  1. Les décalages par défaut sont maintenant stockés dans un sujet Kafka (pas plus dans Zookeeper)), voir Décalages stockés dans Zookeeper ou Kafka?
  2. Il existe un utilitaire kafka-consumer-groups qui renvoie toutes les informations, y compris le décalage du sujet et de la partition, du consommateur, et même le décalage (Remarque: lorsque vous demandez le décalage du sujet, je suppose que vous parlez des décalages de les partitions du sujet). Dans mon Kafka 2.0 grappe de tests:
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               -               -               -
``


2
ynux