GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Apache Kafka sur Debian 10/9

Apache Kafka est une plateforme de streaming distribuée. Il est utile pour créer des pipelines de données de diffusion en temps réel afin d'obtenir des données entre les systèmes ou les applications. Une autre fonctionnalité utile est les applications de streaming en temps réel qui peuvent transformer des flux de données ou réagir sur un flux de données.

Ce tutoriel vous aidera à installer Apache Kafka sur les systèmes Debian 10, Debian 9 et Debian 8.

Étape 1 – Installer Java

Apache Kafka avait besoin de Java pour s'exécuter. Vous devez avoir java installé sur votre système. Exécutez la commande ci-dessous pour installer OpenJDK par défaut sur votre système à partir des PPA officiels.

sudo apt update
sudo apt install default-jdk

Étape 2 – Télécharger Apache Kafka

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

wget http://www-us.apache.org/dist/kafka/2.7.0/kafka_2.13-2.7.0.tgz

Ensuite, extrayez le fichier d'archive

tar xzf kafka_2.13-2.7.0.tgz
mv kafka_2.13-2.7.0 /usr/local/kafka

Étape 3 - Créer des fichiers d'unité Systemd

Ensuite, créez des fichiers d'unité systemd pour le service Zookeeper et Kafka. Cela aidera à gérer les services Kafka pour démarrer/arrêter à l'aide de la commande systemctl.

Tout d'abord, créez un fichier d'unité systemd pour Zookeeper avec la commande ci-dessous :

vim /etc/systemd/system/zookeeper.service

Ajoutez le contenu ci-dessous :

[Unit]
Description=Apache Zookeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target

[Service]
Type=simple
ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

Enregistrez le fichier et fermez-le.

Ensuite, pour créer un fichier d'unité Kafka systemd à l'aide de la commande suivante :

vim /etc/systemd/system/kafka.service

Ajoutez le contenu ci-dessous. Assurez-vous de définir le bon JAVA_HOME chemin selon Java installé sur votre système.

[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=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/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target

Enregistrez le fichier et fermez.

Rechargez le démon systemd pour appliquer les nouvelles modifications.

systemctl daemon-reload

Étape 4 - Démarrer le serveur Kafka

Kafka a requis ZooKeeper, donc commencez par démarrer un serveur ZooKeeper sur votre système. Vous pouvez utiliser le script disponible avec Kafka pour démarrer une instance ZooKeeper à nœud unique.

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 s'est terminée avec succès. La partie de ce tutoriel vous aidera à travailler avec le serveur Kafka.

Étape 5 – Créer un sujet dans Kafka

Kafka fournit plusieurs scripts shell pré-construits pour travailler dessus. Tout d'abord, créez un sujet nommé "testTopic" avec une seule partition avec un seul réplica :

cd /usr/local/kafka
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic

Created topic testTopic.

Le facteur de réplication décrit le nombre de copies de données qui seront créées. Comme nous fonctionnons avec une seule instance, gardez cette valeur 1.

Définissez les options de partitions en fonction du nombre de courtiers entre lesquels vous souhaitez que vos données soient réparties. Comme nous fonctionnons 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 en exécutant la commande ci-dessous :

bin/kafka-topics.sh --list --zookeeper localhost:2181

testTopic
TecAdminTutorial1
TecAdminTutorial2

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

Étape 6 - Envoyer des messages à Kafka

Le « producteur » est le processus chargé de mettre les données dans notre Kafka. Le Kafka est livré avec un client de ligne de commande qui prendra l'entrée d'un fichier ou d'une entrée standard et l'enverra sous forme de messages au cluster Kafka. Le Kafka par défaut envoie chaque ligne dans un message séparé.

Lançons le producteur, puis tapons quelques messages dans la console à envoyer au serveur.

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic

>Welcome to kafka
>This is my first topic
>

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

Étape 7 - Utiliser Kafka Consumer

Kafka dispose également d'un consommateur de ligne de commande pour lire les données du cluster Kafka et afficher les messages sur la sortie standard.

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning

Welcome to kafka
This is my first topic

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

Conclusion

Vous avez installé et configuré avec succès le service Kafka sur la machine Linux Debian.


Debian
  1. Comment installer Apache Maven sur Debian 11

  2. Comment installer Apache Cassandra sur Debian 11 / Debian 10

  3. Comment installer Apache Maven sur Debian 10/9/8

  4. Comment installer Erlang sur Debian 10/9/8

  5. Comment installer Bower sur Debian 10/9/8

Comment installer Apache Tomcat sur Debian 11

Comment installer Apache Solr 8.9 sur Debian 10/9/8

Comment installer Jenkins sur Debian 10/9/8

Comment installer Mono sur Debian 10/9

Comment installer Apache Kafka sur Debian 9

Comment installer Apache Kafka sur Debian 10