Apache Kafka est un courtier de messages distribué populaire conçu pour gérer de gros volumes de données en temps réel. Un cluster Kafka est hautement évolutif et tolérant aux pannes.
Il a également un débit beaucoup plus élevé par rapport à d'autres courtiers de messages comme ActiveMQ et RabbitMQ.
Bien qu'il soit généralement utilisé comme système de messagerie de publication/abonnement, de nombreuses organisations l'utilisent également pour l'agrégation de journaux, car il offre un stockage persistant pour les messages publiés.
Chez LinuxAPT, dans le cadre de nos services de gestion de serveur, nous aidons régulièrement nos clients à effectuer des requêtes liées à Apache.
Dans ce contexte, nous verrons comment installer et configurer Kafka sur Ubuntu 20.04.
Comment installer Apache Kafka sur le système Ubuntu ?
Pour commencer cette tâche d'installation, vous devez accéder à votre serveur en tant qu'utilisateur root avec des droits sudo.
Apache Kafka nécessite que Java soit installé sur votre machine Ubuntu 20.04.
Commencez par mettre à jour votre système d'exploitation avec la commande suivante :
$ sudo apt update
Une fois le système d'exploitation mis à jour, installez Java :
$ sudo apt install openjdk-11-jre-headless
Ensuite, vérifiez que Java est correctement installé sur le système en exécutant la commande :
$ java --version
Comment télécharger Kafka sur Ubuntu ?
Maintenant, vous devez télécharger la source Kafka sur votre Ubuntu 20.04. Il est fortement recommandé de le télécharger depuis le site officiel d'Apache Kafka :https://kafka.apache.org/downloads
Au moment de la rédaction de cet article, la dernière version est la 2.7.0.
Vous pouvez le télécharger par la commande suivante :
$ cd $HOME
$ wget https://downloads.apache.org/kafka/2.7.0/kafka-2.7.0-src.tgz
Ensuite, créez un nouveau dossier nommé kafka-server dans le répertoire /usr/local :
$ sudo mkdir /usr/local/kafka-server
Extrayez ensuite la source téléchargée de Kafka dans le répertoire /usr/local/kafka-server :
$ sudo tar xf $HOME/kafka-2.7.0-src.tgz -C /usr/local/kafka-server
Puisque vous avez déjà extrait les fichiers binaires Apache Kafka, vous pouvez lister les fichiers en exécutant :
$ ls /usr/local/kafka-server/kafka-2.7.0-src/bin/
Il est maintenant temps de faire fonctionner Kafka et Zookeeper en tant que démons dans Ubuntu 20.04.
Pour ce faire, vous devez créer des fichiers d'unité Systemd pour Kafka et Zookeeper.
Comment créer des fichiers Systemd Unit pour Kafka et Zookeeper ?
Commencez par utiliser votre éditeur préféré pour créer deux fichiers comme suit :
/etc/systemd/system/zookeeper.service
[Unit]
Description=Apache Zookeeper Server
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
ExecStart=/usr/local/kafka-server/kafka-2.7.0-src/bin/zookeeper-server-start.sh /usr/local/kafka-server/kafka-2.7.0-src/config/zookeeper.properties
ExecStop=/usr/local/kafka-server/kafka-2.7.0-src/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
/etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
ExecStart=/usr/local/kafka-server/kafka-2.7.0-src/bin/kafka-server-start.sh /usr/local/kafka-server/kafka-2.7.0-src/config/server.properties
ExecStop=/usr/local/kafka-server/kafka-2.7.0-src/bin/kafka-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
Afin d'appliquer les modifications, les démons systemd doivent être rechargés et vous devez également activer les services :
$ sudo systemctl daemon-reload
$ sudo systemctl enable --now zookeeper.service
$ sudo systemctl enable --now kafka.service
$ sudo systemctl status kafka zookeeper
Comment installer Cluster Manager pour Apache Kafka (CMAK) sur Ubuntu ?
Ici, nous allons installer le CMAK qui signifie Cluster Manager pour Apache Kafka. CMAK est un outil open source pour la gestion et la surveillance des services Kafka.
Il a été initialement développé par Yahoo. Pour installer CMAK, exécutez les commandes suivantes :
$ cd $HOME
$ git clone https://github.com/yahoo/CMAK.git
Comment configurer CMAK sur Ubuntu ?
Avec votre éditeur préféré, vous pouvez modifier la configuration CMAK :
$ vim ~/CMAK/conf/application.conf
Ici, nous allons configurer le Zookeeper est localhost, changeons la valeur de cmak.zkhosts en localhost:2181
Vous pouvez trouver cmak.zkhosts à la ligne 28.
Maintenant, vous devez créer un fichier zip dans le but de déployer l'application :
$ cd ~/CMAK
$ ./sbt clean dist
Il faudra environ une minute pour terminer.
Comment démarrer le service CMAK sur Ubuntu ?
je. Allez dans le répertoire ~/CMAK/target/universal et extrayez le fichier zip :
$ cd ~/CMAK/target/universal
$ unzip cmak-3.0.0.5.zip
ii. Après avoir décompressé le fichier cmak-3.0.0.5.zip, accédez au répertoire et exécutez le binaire cmak :
$ cd cmak-3.0.0.5
$ bin/cmak
Par défaut, le service cmak s'exécutera sur le port 9000.
Utilisez le navigateur Web et accédez à http://
Lorsque vous accédez pour la première fois à son interface, aucun cluster n'est disponible.
iii. Ensuite, nous devons en ajouter un nouveau en cliquant sur Ajouter un cluster sur la liste déroulante Cluster.
iv. Ici, nous avons rempli le formulaire avec les informations demandées :nom du cluster, hôtes du cluster Zookeeper, version de Kafka, etc.
v. Laissez les autres options avec leurs valeurs par défaut, puis cliquez sur Enregistrer.
Maintenant, le cluster sera créé avec succès.
Vous pouvez maintenant créer un exemple de sujet.
vi. Supposons que nous allons créer un sujet nommé "LinuxAPTTopic".
En gardant à l'esprit que le CMAK est toujours en cours d'exécution et lancez un nouveau terminal puis exécutez la commande suivante :
$ cd /usr/local/kafka-server/kafka-2.7.0-src
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic LinuxAPTTopic
Cette commande créera le sujet "LinuxAPTTopic".
vii. Enfin, accédez à la vue du cluster, puis cliquez sur Sujet> Liste.