apache-kafka
les outils de la console kafka
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-serverpar--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-2pour consommer des messages depuis le début,-1pour 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-serverpar--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-offsetest le dernier décalage engagé de l'instance consommateur, -
log-end-offsetest lelog-end-offsetle plus élevé de la partition (par conséquent, la somme de cette colonne vous donne le nombre total de messages pour le sujet) -
lagest la différence entre le décalage actuel du consommateur et le décalage le plus élevé, d'où la distance -
ownerest leclient.iddu 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