Comment installer Apache Kafka sur Ubuntu 20.04

Comment installer Apache Kafka sur Ubuntu 20.04

Apache Kafka est une plate-forme de streaming d'événements distribuée à source ouverte développée par l'Apache Software Foundation. Ceci est écrit dans les langages de programmation Scala et Java. Vous pouvez installer Kafka sur n'importe quelle plate-forme prenant en charge Java.

Ce tutoriel vous a décrit un tutoriel étape par étape pour installer Apache Kafka sur Ubuntu 20.04 Système LTS Linux. Vous apprendrez également à créer des sujets dans Kafka et gérer les nœuds producteurs et consommateurs.

Conditions préalables

Vous devez avoir un accès de compte privilégié sudo à l'ubuntu 20.04 Système Linux.

Étape 1 - Installation de Java

Apache Kafka peut être exécuté sur toutes les plateformes prises en charge par Java. Afin de configurer Kafka sur le système Ubuntu, vous devez d'abord installer Java. Comme nous le savons, Oracle Java est désormais disponible dans le commerce, nous utilisons donc sa version open source OpenJDK.

Exécutez la commande ci-dessous pour installer OpenJDK sur votre système à partir des PPA officiels.

sudo apt mise à jour sudo apt installer par défaut-jdk 

Vérifiez la version Java active actuelle.

Java - Version  Version OpenJDK "11.0.9.1 "2020-11-04 OpenJDK Runtime Environment (Build 11.0.9.1 + 1-Ubuntu-0ubuntu1.20.04) VM du serveur OpenJDK 64 bits (build 11.0.9.1 + 1-Ubuntu-0ubuntu1.20.04, mode mixte, partage) 

Étape 2 - Télécharger la dernière apache kafka

Téléchargez les fichiers binaires Apache Kafka à partir de son site Web officiel de téléchargement. Vous pouvez également sélectionner n'importe quel miroir à proximité à télécharger.

wget https: // dlcdn.apache.org / kafka / 3.2.0 / kafka_2.13-3.2.0.tgz  

Puis extraire le fichier d'archive

Tar XZF Kafka_2.13-3.2.0.tgz  sudo mv kafka_2.13-3.2.0 / usr / local / kafka  

Étape 3 - Création de fichiers d'unité Systemd

Maintenant, vous devez créer des fichiers d'unité Systemd pour les services Zookeeper et Kafka. Ce qui vous aidera à démarrer / arrêter le service Kafka d'une manière facile.

Créez d'abord un fichier unitaire Systemd pour ZooKeeper:

vim / etc / systemd / system / zookeeper.service 

Et ajouter le contenu suivant:

[Unité] Description = Apache ZooKeeper Server Documentation = http: // ZooKeeper.apache.org requiert = réseau.Target Remote-FS.cible après = réseau.Target Remote-FS.Target [service] type = simple execstart = / usr / local / kafka / bin / zookeeper-server-start.sh / usr / local / kafka / config / zookeeper.Propriétés execstop = / usr / local / kafka / bin / zookeeper-server-stop.sh redémarrer = en borne [installation] WantedBy = Multi-utilisateur.cible 

Enregistrez le fichier et fermez-le.

Ensuite, pour créer un fichier unitaire Systemd pour le service Kafka:

vim / etc / systemd / system / kafka.service 

Ajouter le contenu ci-dessous. Assurez-vous de définir le bon Java_home chemin selon le java installé sur votre système.

[Unité] Description = Apache Kafka Server Documentation = http: // kafka.apache.org / documentation.html requiert = zookeeper.service [service] type = Simple Environment = "java_home = / usr / lib / jvm / java-1.11.0-openjdk-amd64 "execstart = / usr / local / kafka / bin / kafka-server-start.sh / usr / local / kafka / config / serveur.Propriétés execstop = / usr / local / kafka / bin / kafka-server-stop.sh [installer] recherché = multi-utilisateurs.cible 

Enregistrer le fichier et fermer.

Recharger le démon systemd pour appliquer de nouvelles modifications.

Systemctl Daemon-Reload 

Étape 4 - Démarrez le service Kafka et Zookeeper

Tout d'abord, vous devez démarrer le service ZooKeeper, puis démarrer Kafka. Utilisez la commande SystemCTL pour démarrer une instance de gardien de zoo à un nœud.

sudo systemctl start zookeeper 

Démarrez maintenant le serveur Kafka et affichez l'état d'exécution:

sudo systemctl start kafka sudo systemctl status kafka 

Terminé. L'installation de Kafka a été terminée avec succès. La partie de ce tutoriel vous aidera à travailler avec le serveur Kafka.

Étape 5 - Créez un sujet à Kafka

Kafka fournit plusieurs scripts de coquille prédéfinis pour y travailler. Tout d'abord, créez un sujet nommé «TestTopic» avec une seule partition avec une seule réplique:

CD / USR / Local / Kafka Bin / Kafka-Topics.sh --create --bootstrap-server localhost: 9092 - Réplication-Factor 1 - Partitions 1 - Topic créé TestTopic TestTopic. 

Le facteur de réplication décrit combien de copies de données seront créées. Au fur et à mesure que nous fonctionnons avec une seule instance, gardez cette valeur 1.

Définissez les options de partition comme le nombre de courtiers que vous souhaitez que vos données soient divisées entre. Comme nous courons avec un seul courtier, gardez cette valeur 1.

Vous pouvez créer plusieurs sujets en exécutant la même commande que ci-dessus. Après cela, vous pouvez voir les sujets créés sur Kafka par la commande en cours d'exécution ci-dessous:

bac / kafka-topics.SH --List --bootstrap-server localhost: 9092 [sortie] testtopic 

Alternativement, au lieu de créer manuellement des sujets, vous pouvez également configurer vos courtiers pour créer automatiquement des sujets lorsqu'un sujet inexistant est publié pour.

Étape 6 - Envoyer et recevoir des messages à Kafka

Le «producteur» est le processus responsable de la mise en place de données dans notre Kafka. Le Kafka est livré avec un client en ligne de commande qui prendra les commentaires d'un fichier ou de l'entrée standard et l'envoie comme messages au cluster Kafka. Le Kafka par défaut envoie chaque ligne en tant que message séparé.

Exécutons le producteur, puis tapons quelques messages dans la console pour envoyer au serveur.

bac / kafka-console producteur.SH - Broker-list localhost: 9092 - Testtopic topic> Bienvenue à Kafka> Ceci est mon premier sujet> 

Vous pouvez quitter cette commande ou maintenir ce terminal en cours d'exécution pour des tests supplémentaires. Ouvrez maintenant un nouveau terminal au processus de consommation Kafka à l'étape suivante.

Étape 7 - Utilisation du consommateur Kafka

Kafka a également un consommateur de ligne de commande pour lire les données du cluster Kafka et afficher les messages en sortie standard.

bac / kafka-consoleur.SH --bootstrap-server localhost: 9092 - Testtopic topic --in-beginning bienvenue à kafka c'est mon premier sujet 

Maintenant, si vous avez toujours exécuté le producteur de Kafka (étape # 6) dans un autre terminal. Tapez simplement du texte sur ce terminal producteur. il sera immédiatement visible sur le terminal de consommation. Voir la capture d'écran ci-dessous du producteur et du consommateur de Kafka en travaillant:

Conclusion

Ce tutoriel vous a aidé à installer et à configurer le service Apache Kafka sur un système Ubuntu. De plus, vous avez appris à créer un nouveau sujet dans le serveur Kafka et à exécuter un exemple de production de production et de consommation avec Apache Kafka.