Introduction aux outils Kafka
Kafka Tools est une collection de divers outils à l'aide desquels nous pouvons gérer notre cluster Kafka. Les outils sont principalement basés sur la ligne de commande, mais des outils basés sur l'interface utilisateur sont également disponibles et peuvent être téléchargés et installés.
Nous pouvons utiliser les outils Kafka pour effectuer diverses opérations comme:
- Énumérez les clusters Kafka disponibles et leurs courtiers, sujets et consommateurs.
- Peut imprimer les messages de divers sujets dans la sortie standard. Les outils basés sur l'interface utilisateur peuvent certainement offrir une meilleure lisibilité.
- Ajoutez et supprimez des sujets des courtiers.
- Ajoutez de nouveaux messages dans les partitions.
- Voir tous les compensations de nos consommateurs.
- Créez des partitions de nos sujets.
- Répertoriez tous les groupes de consommateurs, décrivez les groupes de consommateurs, supprimez les informations sur les groupes de consommateurs et réinitialisez les décalages des groupes de consommateurs.
Si nous voulons utiliser un outil basé sur l'interface utilisateur, nous pouvons utiliser l'outil Kafka qui peut être téléchargé à partir de la page Web suivante:
http://www.kafkatool.com/download.html
Cette application est disponible gratuitement pour un usage personnel, mais nous devons acheter une licence pour un usage commercial. La bonne chose à ce sujet est sa disponibilité pour les systèmes Mac, Windows et Linux.
3 principaux types d'outils Kafka
Les outils Kafka sont classés en outils système et outils d'application.
1. Outils système
Les outils système peuvent être exécutés à l'aide de la syntaxe suivante.
Syntaxe:
bin/kafka-run-class.sh package.class - - options
Certains des outils système sont les suivants:
- Outil de migration Kafka: cet outil est utilisé pour migrer Kafka Broker d'une version à une autre.
- Vérificateur de décalage du consommateur: cet outil peut afficher le groupe de consommateurs, le sujet, les partitions, le décalage, la taille du journal, le propriétaire pour l'ensemble spécifié de sujets et le groupe de consommateurs.
- Mirror Maker: Cet outil est utilisé pour mettre en miroir un cluster Kafka sur un autre.
2. Outils de réplication
Ce sont essentiellement des outils de conception de haut niveau fournis pour la durabilité et la disponibilité.
Certains des outils de réplication sont:
- Outil Créer un sujet: cet outil est utilisé pour créer des sujets avec le nombre de partitions et le facteur de réplication par défaut.
- Outil de liste de sujets : utilisé pour répertorier les informations d'une liste donnée de sujets. La grande chose à propos de cet outil est que si aucun sujet n'est déjà disponible dans la ligne de commande, il interrogera le Zookeeper pour récupérer la liste des sujets d'abord, puis imprimera les informations les concernant. Il répertorie divers champs comme le nom du sujet, les partitions, le leader, les répliques, etc.
- Ajouter un outil de partition: cet outil est utilisé pour ajouter des partitions à une rubrique qui est nécessaire pour gérer la croissance du volume de données dans la rubrique. Mais notez que nous devons spécifier les partitions lors de la création du sujet. Cet outil nous permet d'ajouter des répliques manuelles pour les partitions ajoutées.
3. Outils divers
Voyons maintenant quelques outils divers:
une. Outil Kafka-Topics
Cet outil est utilisé pour créer, lister, modifier et décrire des sujets.
Exemple: création de rubrique: bin/kafka-topics.sh --zookeeper zk_host:port/chroot --create --topic topic_name --partitions 30 --replication-factor 3 --config x=y
b. Outil Kafka-Console-Consumer
Cet outil peut être utilisé pour lire les données des rubriques Kafka et les écrire sur la sortie standard
Exemple: bin/kafka-console-consumer --zookeeper zk01.example.com:8080 --topic topic_name>/code>
c. Outil producteur de console Kafka
Cet outil peut être utilisé pour écrire des données dans une rubrique Kafka à partir de la sortie standard.
Exemple: bin/kafka-console-producer --broker-list kafka03.example.com:9091 --topic topic_name
ré. Outil des groupes de consommateurs Kafka
Cet outil peut être utilisé pour répertorier tous les groupes de consommateurs, décrire un groupe de consommateurs, supprimer des informations sur le groupe de consommateurs ou réinitialiser les décalages des groupes de consommateurs. Cet outil est principalement utilisé pour décrire les groupes de consommateurs et déboguer les problèmes de compensation des consommateurs.
Exemple: affichage des décalages sur un cluster non sécurisé: bin/kafka-consumer-groups --new-consumer --bootstrap-server broker01.example.com:9092 --describe --group group_name
Architecture de Kafka
Divers composants des outils Kafka
Les principaux composants de Kafka sont les suivants:
1. Courtier
Chaque nœud d'un cluster Kafka est un courtier qui stocke les données. En règle générale, il existe plusieurs courtiers afin d'équilibrer correctement la charge. Un courtier stocke les messages sous forme de sujets accessibles aux producteurs (pour l'écriture) et aux consommateurs (pour la lecture). Les rubriques sont créées pour séparer les données d'une application des autres. Les courtiers étant apatrides, ils ont besoin de l'aide de Zookeeper pour maintenir leur état de cluster. Un courtier peut gérer des To de messages sans aucun impact sur les performances. L'élection du leader du courtier Kafka est faite par le gardien de zoo.
2. Producteur
C'est l'unité qui envoie les messages aux courtiers. Il peut y avoir plusieurs producteurs générant des données à très grande vitesse et indépendamment les uns des autres. Les producteurs ne reçoivent pas d'accusé de réception de la part des courtiers et envoient des données à un rythme qui peut être géré par les courtiers. Ils peuvent rechercher des courtiers et commencer à envoyer des messages dès que les courtiers commencent. Le producteur est responsable du choix du message à attribuer à quelle partition dans le sujet. Cela peut être fait de manière circulaire pour simplement équilibrer la charge ou cela peut être fait selon une fonction de partition sémantique (disons basée sur une clé du message).
3. Gardien
C'est l'unité qui gère et coordonne les courtiers. Le gardien de zoo avertit un producteur ou un consommateur en cas d'ajout ou de défaillance d'un courtier. Chaque courtier envoie des demandes de pulsation au gardien de zoo à intervalles réguliers tant qu'il est en vie. Le gardien de zoo conserve également des informations sur les sujets et les compensations des consommateurs.
4. Consommateur
C'est l'unité qui lit les messages des sujets. Un consommateur peut s'abonner et lire à partir de plusieurs sujets. Un consommateur peut travailler en parallèle avec d'autres consommateurs (dans ce cas, chaque partition sera lue par un seul consommateur) formant un groupe de consommateurs. Cela ne fonctionne pas en synchronisation avec les producteurs. Le consommateur doit conserver le nombre de messages qu'il a lus en utilisant le décalage de partition. Si un consommateur accepte un décalage de partition particulier, cela implique qu'il a déjà consommé les messages précédents dans la partition.
Conclusion
Dans cet article, nous avons appris comment utiliser divers outils Kafka pour gérer efficacement notre cluster Kafka. Nous avons également appris les différentes composantes de l'écosystème Kafka et comment elles interagissent les unes avec les autres.
Articles recommandés
Ceci est un guide des outils Kafka. Ici, nous discutons des types d'outils Kafka, divers composants de Kafka ainsi que de l'architecture Kafka. Vous pouvez également consulter l'article suivant pour en savoir plus -
- Top des applications Kafka
- Explication de l'architecture Big Data
- Meilleurs outils de science des données
- Différences entre Kafka et Spark