Recherche…


Introduction

Kafka propose des outils en ligne de commande pour gérer des sujets, des groupes de consommateurs, pour consommer et publier des messages, etc.

Important : les scripts de la console Kafka sont différents pour les plates-formes Unix et Windows. Dans les exemples, vous devrez peut-être ajouter l'extension en fonction de votre plate-forme.

Linux : scripts situés dans bin/ avec l'extension .sh .

Windows : scripts situés dans bin\windows\ et avec l'extension .bat .

kafka-topics

Cet outil vous permet de lister, créer, modifier et décrire des sujets.

Liste des sujets:

kafka-topics  --zookeeper localhost:2181 --list

Créer un sujet:

kafka-topics  --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

crée un sujet avec une partition et aucune réplication.

Décrivez un sujet:

kafka-topics  --zookeeper localhost:2181 --describe --topic test

Modifier un sujet:

# change configuration
kafka-topics  --zookeeper localhost:2181 --alter --topic test --config max.message.bytes=128000
# add a partition
kafka-topics  --zookeeper localhost:2181 --alter --topic test --partitions 2

(Attention: Kafka ne prend pas en charge la réduction du nombre de partitions d'un sujet) (voir cette liste de propriétés de configuration )

kafka-console-producteur

Cet outil vous permet de produire des messages à partir de la ligne de commande.

Envoyer des messages de chaîne simples à un sujet:

kafka-console-producer --broker-list localhost:9092 --topic test
here is a message
here is another message
^D

(chaque nouvelle ligne est un nouveau message, tapez ctrl + D ou ctrl + C pour arrêter)

Envoyer des messages avec les clés:

kafka-console-producer --broker-list localhost:9092 --topic test-topic \
        --property parse.key=true \
        --property key.separator=,
key 1, message 1
key 2, message 2
null, message 3
^D

Envoyer des messages depuis un fichier:

kafka-console-producer --broker-list localhost:9092 --topic test_topic < file.log

kafka-console-consumer

Cet outil vous permet de consommer des messages d'un sujet.

pour utiliser l'ancienne implémentation du consommateur, remplacez --bootstrap-server par --zookeeper .

Afficher des messages simples:

kafka-console-consumer --bootstrap-server localhost:9092 --topic test 

Consommez d'anciens messages:

Pour voir les anciens messages, vous pouvez utiliser l'option --from-beginning .

Afficher les messages de valeur-clé :

kafka-console-consumer  --bootstrap-server localhost:9092 --topic test-topic \
    --property print.key=true \
    --property key.separator=, 

kafka-simple-consommateur-shell

Ce consommateur est un outil de bas niveau qui vous permet de consommer des messages à partir de partitions, de décalages et de répliques spécifiques.

Paramètres utiles:

  • parition : la partition spécifique à parition (par défaut à tous)
  • offset : le décalage de début. Utilisez -2 pour consommer des messages depuis le début, -1 pour consommer depuis la fin.
  • max-messages : nombre de messages à imprimer
  • replica : la réplique, par défaut pour le courtier leader (-1)

Exemple:

kafka-simple-consumer-shell  \
    --broker-list localhost:9092 \
    --partition 1 \
    --offset 4 \
    --max-messages 3 \
    --topic test-topic

affiche 3 messages de la partition 1 commençant à l'offset 4 du sujet de test du sujet.

kafka-groupes de consommateurs

Cet outil vous permet de répertorier, décrire ou supprimer des groupes de consommateurs. Consultez cet article pour plus d'informations sur les groupes de consommateurs.

Si vous utilisez toujours l'ancienne implémentation du consommateur, remplacez --bootstrap-server par --zookeeper .

Liste des groupes de consommateurs:

kafka-consumer-groups  --bootstrap-server localhost:9092 --list
octopus

Décrivez un groupe de consommateurs:

kafka-consumer-groups  --bootstrap-server localhost:9092 --describe --group octopus
GROUP          TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG       OWNER
octopus        test-topic      0          15              15              0         octopus-1/127.0.0.1
octopus        test-topic      1          14              15              1         octopus-2_/127.0.0.1

Remarques : dans la sortie ci-dessus,

  • current-offset est le dernier décalage engagé de l'instance consommateur,
  • log-end-offset est le log-end-offset le plus élevé de la partition (par conséquent, la somme de cette colonne vous donne le nombre total de messages pour le sujet)
  • lag est la différence entre le décalage actuel du consommateur et le décalage le plus élevé, d'où la distance
  • owner est le client.id du consommateur (s'il n'est pas spécifié, un par défaut est affiché).

Supprimer un groupe de consommateurs:

la suppression n'est disponible que lorsque les métadonnées du groupe sont stockées dans zookeeper (ancienne interface client). Avec la nouvelle API du consommateur, le courtier gère tout, y compris la suppression des métadonnées: le groupe est automatiquement supprimé lorsque le dernier décalage validé du groupe expire.

kafka-consumer-groups --bootstrap-server localhost:9092 --delete --group octopus


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow