Installing Kafka and Zookeeper on Ubuntu: A Simple Tutorial

Patrick GabrielPatrick Gabriel
7 min read

INTRODUCTION

  • Objectif de la documentation

  • Présentation rapide de Kafka et Zookeeper

Pré-requis

  • Configuration minimale requise pour le serveur

  • Dépendances nécessaires (Java, etc.)

  • avoir minimum trois terminaux ouvert

Installation de Kafka

  • Téléchargement et préparation

  • Configuration des fichiers (server.properties)

  • Lancement de Kafka

Conclusion

  • Récapitulatif

  • Liens vers la documentation officielle et les ressources utiles

  • Formulaire de Retour sur la Documentation Kafka & Zookeeper

objectifs

En mettant l’accent sur les étapes principales et en laissant la gestion des problèmes spécifiques aux ressources externes, je propose une approche simplifiée et directe qui sera utile aux utilisateurs, surtout ceux qui cherchent à suivre un guide sans être distraits par des détails techniques ou des solutions aux problèmes.

C’est une approche pragmatique qui me permet de me concentrer sur le processus d'installation tout en offrant une structure pour ceux qui cherchent à résoudre des problèmes éventuels par eux-mêmes. Cela rendra la documentation plus accessible et moins chargée pour les lecteurs.

Objectif de la Documentation

L'objectif de cette documentation est de fournir des instructions claires et concises pour l'installation de Apache Kafka et Zookeeper sur un serveur Ubuntu. Cette documentation a pour but de :

  • Détaillez les étapes d'installation de Kafka et Zookeeper sans commentaires superflus.

  • Fournir un guide étape par étape pour chaque phase de l'installation.

  • Orienter les utilisateurs vers des ressources externes pour la résolution des problèmes spécifiques rencontrés durant l'installation.

  • Inviter les utilisateurs à revenir à cette documentation pour poursuivre les étapes suivantes après avoir résolu tout problème.

Présentation de Kafka et Zookeeper

Apache Kafka est une plateforme de streaming distribuée, conçue pour publier, souscrire, stocker et traiter des flux de données en temps réel. Utilisé par de nombreuses entreprises pour la gestion de gros volumes de données, Kafka permet de connecter des systèmes hétérogènes et de rendre les données disponibles pour différents consommateurs de manière fiable.

Cas d'utilisation : traitement de logs, monitoring, pipelines de données en temps réel, intégration entre systèmes distribués.

Apache Zookeeper, de son côté, est un service centralisé de gestion de configuration, de synchronisation distribuée et de coordination pour les applications distribuées. Kafka utilise Zookeeper pour gérer ses brokers et pour la coordination des tâches entre eux.

Rôle de Zookeeper dans Kafka : il maintient des informations sur l'état des brokers Kafka, les partitions et les configurations, ce qui permet à Kafka de fonctionner de manière stable dans un environnement distribué.

Voici le prochain point concernant les prérequis pour l'installation de Kafka et Zookeeper :


Pré-requis

Avant de commencer l'installation de Kafka et Zookeeper, assurez-vous que les conditions suivantes sont remplies :

  • Système d'exploitation : Ubuntu Server (ou tout autre distribution Linux compatible)

  • Java : Kafka nécessite une version récente de Java (JDK 8 ou supérieur). Assurez-vous que Java est installé :

      java -version
    

    Si Java n'est pas installé, vous pouvez l’installer avec la commande suivante :

      sudo apt update
      sudo apt install default-jdk
    
  • Mémoire : Kafka et Zookeeper peuvent être gourmands en ressources. Un minimum de 4 Go de RAM est recommandé.

  • Espace disque : Kafka stocke une grande quantité de logs. Assurez-vous d’avoir au moins 10 Go d’espace disque disponible.

  • Accès réseau : Si votre installation se fait dans un environnement distribué, assurez-vous que les ports nécessaires sont ouverts (par exemple, le port 2181 pour Zookeeper, les ports 9092 et 9093 pour Kafka).

  • Droits d’administration : Vous devrez avoir les droits administratifs (sudo) pour installer et configurer les services.


installer Kafka et son interface web sur un serveur Ubuntu

1. Télécharger Kafka

Allez dans le répertoire où vous voulez installer Kafka, puis téléchargez Kafka depuis le site officiel Apache.

Créer un répertoire ou un dossier où vous ferez l’installation

rassurez-vous d’être en super user avant de commencer
sudo -i pour passer en mode super user

ls est la commande qui permet de lister les dossier depuis le terminal

mkdir <nom_du_dossier> commande pour créer un dossier

cd le_nom_du_dossier_créé est la commande pour entrer dans un dossier depuis le terminal

cd /le dossier créé
sudo wget https://downloads.apache.org/kafka/3.5.1/kafka_2.13-3.5.1.tgz

2. Extraire Kafka

Une fois téléchargé, extrayez Kafka :

sudo tar -xzf kafka_2.13-3.5.1.tgz
cd kafka_2.13-3.5.1 kafka

3. Configurer Kafka & zookeeper

Kafka utilise Zookeeper pour gérer son cluster. Les fichiers de configuration se trouvent dans le dossier config. Vous pouvez commencer par configurer Zookeeper.

faites toujours la commande ls pour savoir dans quel répertoire/dossier vous êtes et pour savoir quel répertoire/dossier où vous devez allez

cd kafka
apres etre entré dans le dossier kafka faites de meme pour le dossier conf
cd conf
sudo nano zookeeper.properties

lisez le fichier de conf quand vous y serez

Assurez-vous que clientPort=2181 est bien défini. Ensuite, démarrez Zookeeper :

cd ../
sudo bin/zookeeper-server-start.sh config/zookeeper.properties

3. Configurer et démarrer Kafka

Vous pouvez maintenant configurer Kafka en éditant le fichier server.properties :

sudo nano config/server.properties

Lancez Kafka après avoir configuré les paramètres nécessaires.

sudo bin/kafka-server-start.sh config/server.properties

4. Configurer Kafka pour démarrer automatiquement

Créez un fichier de service pour Kafka afin qu'il démarre automatiquement avec le système (optionnelle):

sudo nano /etc/systemd/system/kafka.service

Ajoutez les lignes suivantes :

Ctrl + o pour écrire dans le fichier de configuration
Ctrl + x pour en sortir

[Unit]
Description=Apache Kafka Server
Documentation=https://kafka.apache.org/documentation.html
After=network.target

[Service]
User=root
ExecStart=/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

Rechargez le service systemd, puis activez Kafka au démarrage :

sudo systemctl daemon-reload
sudo systemctl enable kafka
sudo systemctl start kafka

5. Installer l'interface web pour Kafka

Il existe plusieurs interfaces web pour gérer Kafka. Une des plus populaires est Kafka Manager de Yahoo qui est maintenant CMACK. Voici comment l’installer.

5.1. Installer Kafka Manager/CMACK “l’interface web “

  1. Clonez le dépôt Kafka Manager :

  2. Dans le dossier Kafka Manager l’application va s’appeler

     sudo apt install git -y
     git clone https://github.com/yahoo/kafka-manager.git
     verifier avec la commande ls si le dossier kafka-manager est apparu puis entrez-y
     cd kafka-manager
    
  3. Installez les dépendances requises pour Kafka Manager, y compris Scala et sbt dans le dossier Kafka-manager:

     sudo apt install scala sbt -y
    
  4. Compilez Kafka Manager :

     sbt clean dist
    
  5. Une fois la compilation terminée, vous trouverez l'archive dans le répertoire target/universal. Extrayez-la et configurez l’application.

     cd target
     cd universal
     unzip kafka-manager-*.zip
     cd kafka-manager-*/
    

5.2. Configurer Kafka Manager

Kafka Manager nécessite que vous fournissiez l’URL de Zookeeper dans son fichier de configuration.

  1. Editez le fichier de configuration :

     nano conf/application.conf
     cela fera apparaitre le fichier conf et ressemble à ceci
     # Zookeeper hosts string
     kafka-manager.zkhosts="localhost:2181"
    
     # Application secret key
     play.crypto.secret="ThisIsASecretKeyChangeIt"
    
     # Optional: disable authentication
     basicAuthentication.enabled=false
    
     # Uncomment and configure this section if you want to enable authentication
     # basicAuthentication.enabled=true
     # basicAuthentication.username="admin"
     # basicAuthentication.password="admin123"
     # basicAuthentication.realm="Kafka-Manager"
    
     # Kafka Manager settings
     kafka-manager.kafka-manager.deleteClustersOnExit=false
     kafka-manager.kafka-manager.zkhosts="localhost:2181"
    
     # Logger configuration
     logger.application="INFO"
    

    Ajoutez votre connexion Zookeeper dans la configuration (assurez-vous que le port 2181 est celui que vous utilisez pour Zookeeper) :

     kafka-manager.zkhosts="localhost:2181"-> ceci est obselete remplacé le par
     cmak.zkhosts="localhost" 
    
     "localhost" si kafka est installé en local dans le cas contraire
     tu mettras l'/ip' de ta machine distant
    
  2. Démarrez Kafka Manager :

     bin/cmack
    
  3. Accédez à Kafka Manager via votre navigateur à l'adresse suivante (remplacez your-server-ip par l’adresse IP de votre serveur) :

     http://your-server-ip:9000
    

Conclusion

Cette documentation vous a guidé à travers les étapes essentielles pour installer et configurer Apache Kafka et Zookeeper sur un serveur Ubuntu. En suivant ces instructions, vous disposez d'un environnement Kafka fonctionnel et prêt à traiter des flux de données distribués.

N'oubliez pas que chaque environnement est unique et peut nécessiter des ajustements spécifiques. Si vous rencontrez des difficultés, référez-vous à des ressources externes pour la résolution des problèmes, puis revenez à cette documentation pour continuer les étapes.

Kafka est une plateforme puissante pour la gestion des données en temps réel, et cette installation vous offre une base solide pour tirer parti de ses capacités dans des applications distribuées.
Mon but n’étant pas de présenter un document parfait mais assez simple dans l’explication et plus bref dans les étapes.


https://kafka.apache.org/24/documentation.html documentation officiel

https://form.jotform.com/patricknguemaengwang/kafka formulaire d’avis

23
Subscribe to my newsletter

Read articles from Patrick Gabriel directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Patrick Gabriel
Patrick Gabriel