Présentation
Apache Kafka est une plate-forme de streaming d'événements distribués qui a la capacité de gérer les pipelines de données hautes performances. Il a été développé à l'origine par Linkedin puis pour être public en tant que plate-forme open source et utilisé par de nombreuses sociétés informatiques dans le monde.
Cet article vous montrera comment installer et configurer Kafka sur Ubuntu 20.04.
Installation d'Apache Kafka
Prérequis
Apache Kafka nécessite que Java soit installé sur votre machine Ubuntu 20.04. Tout d'abord, mettons à jour votre système d'exploitation avec la commande suivante :
Mise à jour $ sudo apt
Une fois le système d'exploitation mis à jour, installez Java :
$ sudo apt install openjdk-11-jre-headless
Vérifiez que Java a été installé avec succès en exécutant :
$ java --version
La sortie :
Télécharger Kafka
Ensuite, 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
Créons 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
Vous avez déjà les fichiers binaires Apache Kafka extraits. Lister ces fichiers en exécutant :
$ ls /usr/local/kafka-server/kafka-2.7.0-src/bin/
Sortie :
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.
Création de fichiers Systemd Unit pour Kafka et Zookeeper
À l'aide de votre éditeur préféré, créez deux fichiers comme suit :
/etc/systemd/system/zookeeper.service
[Unit]Description=Apache Zookeeper ServerRequires=network.target remote-fs.targetAfter=network.target remote-fs.target[Service]Type=simpleExecStart=/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.propertiesExecStop=/usr/local/kafka-server/kafka-2.7.0- src/bin/zookeeper-server-stop.shRestart=on-abnormal[Install]WantedBy=multi-user.target
/etc/systemd/system/kafka.service
[Unit]Description=Apache Kafka ServerDocumentation=http://kafka.apache.org/documentation.htmlRequires=zookeeper.serviceAfter=zookeeper.service[Service]Type=simpleEnvironment="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.propertiesExecStop=/usr/local/kafka-server/kafka-2.7.0-src/bin/kafka-server-stop.shRestart=on-abnormal[Install]WantedBy=multi-user.targetAfin 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 zookeeperSortie :
Installation du gestionnaire de cluster pour Apache Kafka (CMAK)
L'étape suivante consiste à 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
Configurer CMAK
Ensuite, utilisez votre éditeur préféré pour modifier la configuration CMAK.
$ vim ~/CMAK/conf/application.confDans ce tutoriel, nous allons configurer le Zookeeper est localhost , changeons la valeur de cmak.zkhosts en tant que localhost :2181
Vous pouvez trouver les 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 distIl faudra environ une minute pour terminer. La sortie sera :
Démarrer le service CMAK
Allez dans le répertoire ~/CMAK/target/universal et extrayez le fichier zip :
$ cd ~/CMAK/target/universal$ unzip cmak-3.0.0.5.zipAprè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/cmakPar défaut, le service cmak s'exécutera sur le port 9000.
Utilisez le navigateur Web et accédez à http://
:9000
Actuellement, il n'y a pas de cluster disponible. Nous devons en ajouter un nouveau en cliquant sur Ajouter un cluster sur Cluster liste déroulante.
Ensuite, remplissez le formulaire ci-dessous avec les informations demandées :nom du cluster, hôtes du cluster Zookeeper, version de Kafka, etc. Par exemple :
Laissez les autres options avec leurs valeurs par défaut, puis cliquez sur Enregistrer.
Fait. Le cluster a été créé avec succès.
Il est maintenant temps de créer un exemple de sujet. Supposons que nous allons créer un sujet nommé "LinuxWaysTopic". 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 LinuxWaysTopicSortie :
Accédez à la vue du cluster, puis cliquez sur Sujet > Liste
Conclusion
Vous avez installé et configuré avec succès Apache Kafka sur votre machine Ubuntu 20.04 LTS.
Si vous avez des inquiétudes, n'hésitez pas à laisser votre commentaire et à me le faire savoir. Merci !