Apache Kafka est une plateforme de streaming distribuée développée par Apache Software Foundation et écrite en Java et Scala. Apache Kafka a été développé à l'origine par LinkedIn et est devenu open source en 2011.
Apache Kafka est utilisé pour créer un pipeline de données de streaming en temps réel qui obtient de manière fiable des données entre le système et les applications. Il fournit un traitement de données unifié, à haut débit et à faible latence en temps réel.
Dans ce tutoriel, nous allons vous montrer comment installer et configurer étape par étape Apache Kafka sur Ubuntu 18.04. Ce guide couvrira l'installation et la configuration d'Apache Kafka et d'Apache Zookeeper.
Prérequis
- Ubuntu 18.04
- Privilèges root
Qu'allons-nous faire ?
- Installer Java OpenJDK 8
- Installer Apache Zookeeper
- Télécharger et configurer Apache Kafka
- Configurer Apache Kafka et Zookeeper en tant que service
- Test
Étape 1 - Installer Java OpenJDK 8
Apache Kafka a été écrit en Java et Scala, nous devons donc installer Java sur le serveur.
Avant d'installer des packages, mettez à jour le référentiel et mettez à niveau tous les packages.
sudo apt update
sudo apt upgrade
Installez maintenant Java OpenJDK 8 à partir du référentiel Ubuntu à l'aide de la commande apt ci-dessous.
sudo apt install openjdk-8-jdk -y
Une fois l'installation terminée, vérifiez la version installée de Java.
java -version
Vous verrez maintenant le Java OpenJDK 8 installé sur Ubuntu 18.04.
Étape 2 - Installer Apache Zookeeper
Apache Kafka utilise zookeeper pour l'élection du contrôleur, l'appartenance au cluster et la configuration des rubriques. Zookeeper est un service distribué de configuration et de synchronisation.
Dans cette étape, nous allons installer Zookeeper à partir du référentiel Ubuntu.
Exécutez la commande apt ci-dessous.
sudo apt install zookeeperd -y
Attendez que l'installation soit terminée.
Étape 3 - Télécharger et configurer Apache Kafka
Dans cette étape, nous allons installer Apache Kafka à l'aide des fichiers binaires téléchargeables sur le site Web de Kafka. Nous allons installer et configurer apache Kafka et l'exécuter en tant qu'utilisateur non root.
Ajoutez un nouvel utilisateur nommé 'kafka'.
useradd -d /opt/kafka -s /bin/bash kafka
passwd kafka
Allez maintenant dans le répertoire '/opt' et téléchargez les fichiers binaires Apache Kafka en utilisant wget.
cd /opt
wget http://www-eu.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
Créez maintenant un nouveau répertoire kafka.
mkdir -p /opt/kafka
Extrayez le fichier kafka_*.tar.gz dans le répertoire 'kafka' et changez le propriétaire du répertoire en utilisateur et groupe 'kafka'.
tar -xf kafka_2.11-2.0.0.tgz -C /opt/kafka --strip-components=1
sudo chown -R kafka:kafka /opt/kafka
Connectez-vous maintenant à l'utilisateur 'kafka' et modifiez la configuration server.properties.
su - kafka
vim config/server.properties
Collez la configuration suivante à la fin de la ligne.
delete.topic.enable = true
Enregistrez et quittez.
La configuration d'Apache Kafka est terminée.
Étape 4 - Configurer Apache Kafka et Zookeeper en tant que services
Dans cette étape, nous allons configurer Apache Kafka en tant que service et configurer la configuration du service des douanes pour le gardien du zoo.
Allez dans le répertoire '/lib/systemd/system' et créez un nouveau fichier de service 'zookeeper.service'.
cd /lib/systemd/system/
vim zookeeper.service
Collez la configuration ci-dessous.
[Unit] Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple User=kafka ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Enregistrez et quittez.
Créez maintenant le fichier de service Apache Kafka 'kafka.service'.
vim kafka.service
Collez la configuration ci-dessous.
[Unit] Requires=zookeeper.service After=zookeeper.service [Service] Type=simple User=kafka ExecStart=/bin/sh -c '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties' ExecStop=/opt/kafka/bin/kafka-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Enregistrez et quittez.
Rechargez la configuration du gestionnaire systemd.
systemctl daemon-reload
Démarrez maintenant les services Apache Zookeeper et Apache Kafka.
systemctl start zookeeper
systemctl enable zookeeper
systemctl start kafka
systemctl enable kafka
Le gardien de zoo apache et Kafka sont opérationnels.
Zookeeper s'exécutant sous le port '2181' et Kafka sur le port '9092', vérifiez-le à l'aide de la commande netstat ci-dessous.
netstat -plntu
Étape 5 - Tester Apache Kafka
Connectez-vous à l'utilisateur 'kafka' et accédez au répertoire 'bin/'.
su - kafka
cd bin/
Créez maintenant un nouveau sujet nommé 'HakaseTesting' en utilisant le fichier exécutable 'kafka-topics.sh'.
./kafka-topics.sh --create --zookeeper localhost:2181 \
--replication-factor 1 --partitions 1 \
--topic HakaseTesting
Et exécutez le fichier 'kafka-console-producer.sh' avec le sujet 'HakaseTesting'.
./kafka-console-producer.sh --broker-list localhost:9092 \
--topic HakaseTesting
Ouvrez maintenant un nouveau terminal et connectez-vous au serveur, puis connectez-vous à l'utilisateur 'kafka'.
Exécutez 'kafka-console-consumer.sh' pour le sujet 'HakaseTesting'.
./kafka-console-consumer.sh --bootstrap-server localhost:9092 \
--topic HakaseTesting --from-beginning
Et lorsque vous tapez une entrée du shell 'kafka-console-producer.sh', vous obtiendrez le même résultat sur le shell 'kafka-console-consumer.sh'.
L'installation et la configuration d'Apache Kafka sur Ubuntu 18.04 se sont terminées avec succès.