GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Apache Kafka sur CentOS 8

Apache Kafka est une plateforme de streaming distribuée. Il est utile pour créer des pipelines de données en continu 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 les systèmes Apache Kafka CentOS 8 ou RHEL 8 Linux.

Prérequis

  • Il est recommandé que le système nouvellement installé suive la configuration initiale du serveur.
  • Accès shell au système CentOS 8 avec un compte de privilèges sudo.

Étape 1 – Installer Java

Java doit être installé sur votre système pour exécuter Apache Kafka. Vous pouvez installer OpenJDK sur votre machine en exécutant la commande suivante. Installez également d'autres outils requis.

sudo dnf install java-11-openjdk wget vim

É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 - Configurer les fichiers d'unité Kafka Systemd

CentOS 8 utilise systemd pour gérer l'état de ses services. Nous devons donc créer des fichiers unitaires systemd pour le service Zookeeper et Kafka. Ce qui nous aide à gérer les services Kafka pour démarrer/arrêter.

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/bin/bash /usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/bin/bash /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/jre-11-openjdk"
ExecStart=/usr/bin/bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/bin/bash /usr/local/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target

Enregistrez le fichier et fermez-le.

Rechargez le démon systemd pour appliquer les 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é. Vous avez installé avec succès Kafka sur votre CentOS 8. La prochaine partie de ce didacticiel vous aidera à créer des sujets dans le cluster Kafka et à travailler avec le service producteur et consommateur de Kafka.

Étape 5 – Créer des sujets dans Apache Kafka

Apache Kafka fournit plusieurs scripts shell 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
KafkaonCentOS8
TutorialKafkaInstallCentOS8

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 :Producteur et consommateur d'Apache 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
>

Ouvrez maintenant un nouveau terminal pour exécuter le processus consommateur Apache Kafka. Kafka fournit également 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

L'option –from-beginning est utilisée pour lire les messages depuis le début du sujet sélectionné. Vous pouvez ignorer cette option pour lire uniquement les derniers messages.

Par exemple, Exécutez le producteur Kafka et le consommateur dans les terminaux séparés. 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 CentOS 8.


Cent OS
  1. Comment installer Apache Cassandra sur CentOS 8

  2. Comment installer Apache sur CentOS 7

  3. Comment installer Apache Maven sur CentOS 7

  4. Comment installer Apache Cassandra sur CentOS 7

  5. Comment installer Apache Tomcat 8 sur CentOS

Comment installer elgg sur CentOS 8

Comment installer Apache ServiceMix sur CentOS 8

Comment installer Apache SVN sur CentOS 7

Comment installer Mod_Security Apache sur CentOS 6

Comment installer Apache Kafka sur CentOS 8

Comment installer Apache Kafka dans CentOS/RHEL 7