Installer Apache Kafka – Guide étape par étape pour débutants

 💡 Introduction

Apache Kafka est une plateforme distribuée de diffusion d’événements utilisée pour les pipelines de données en temps réel et le traitement de flux.
Elle permet à différents systèmes de communiquer selon le modèle publish-subscribe avec une grande performance, fiabilité et évolutivité.

Dans ce tutoriel, nous allons apprendre à installer et exécuter Kafka sur votre machine locale (Windows, Linux ou macOS) à la fois en mode manuel et avec Docker.


⚙️ 1️⃣ Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Java 8 ou supérieur (JDK) installé et ajouté au PATH

  • 🧰 Apache Kafka (dernière version stable) téléchargé

  • 🐧 Linux, 🪟 Windows ou 🍎 macOS

  • 🐋 (Optionnel) Docker pour un déploiement conteneurisé


📦 2️⃣ Télécharger et extraire Kafka

🔹 Installation manuelle

  1. Rendez-vous sur la page officielle :
    👉 https://kafka.apache.org/downloads

  2. Choisissez une version binaire (par ex. : kafka_2.13-3.7.0.tgz) puis extrayez-la :

    tar -xzf kafka_2.13-3.7.0.tgz cd kafka_2.13-3.7.0

🧠 3️⃣ Démarrer Zookeeper

Kafka utilise Zookeeper pour gérer les brokers et les métadonnées du cluster.

Lancez Zookeeper avec le script intégré :

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

Sous Windows :

.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

📋 Astuce :
Par défaut, Zookeeper écoute sur le port 2181.


📡 4️⃣ Démarrer le broker Kafka

Ouvrez un nouveau terminal :

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

Sous Windows :

.\bin\windows\kafka-server-start.bat .\config\server.properties

✅ Vous devriez voir :

INFO [KafkaServer id=0] started (kafka.server.KafkaServer)

📋 Ports par défaut :

ComposantPort
Zookeeper2181
Broker Kafka9092

💬 5️⃣ Créer un topic Kafka

Créons un topic nommé jbpm-events :

bin/kafka-topics.sh --create \ --topic jbpm-events \ --bootstrap-server localhost:9092 \ --replication-factor 1 --partitions 1

✅ Lister les topics :

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

✉️ 6️⃣ Envoyer et lire des messages

📨 Producteur (envoi de messages)

bin/kafka-console-producer.sh --topic jbpm-events --bootstrap-server localhost:9092

Tapez vos messages et appuyez sur Entrée après chacun.

📥 Consommateur (lecture)

Ouvrez un autre terminal :

bin/kafka-console-consumer.sh --topic jbpm-events --from-beginning --bootstrap-server localhost:9092

Vous verrez les mêmes messages s’afficher sur la console du consommateur. 🎉


🐋 7️⃣ Option : exécuter Kafka avec Docker

Pour un déploiement plus rapide, utilisez Docker Compose.

Créez un fichier docker-compose.yml :

version: '3' services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka ports: - "9092:9092" environment: KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092

Lancez :

docker-compose up -d

✅ Kafka et Zookeeper démarrent automatiquement.


🧹 8️⃣ Arrêter et nettoyer

Quand vous avez terminé :

# Arrêter Kafka et Zookeeper bin/kafka-server-stop.sh bin/zookeeper-server-stop.sh

Ou avec Docker :

docker-compose down

🧠 9️⃣ Problèmes fréquents et solutions

ProblèmeCauseSolution
Address already in usePorts 9092 ou 2181 occupésArrêter les anciens services ou modifier les ports
Connection refusedZookeeper non démarréDémarrer Zookeeper avant Kafka
Broker not availableMauvaise configuration des listenersVérifier le host dans server.properties

🧩 🔟 Étapes suivantes

Une fois Kafka opérationnel, vous pouvez :

  • L’intégrer à jBPM pour des workflows orientés événements

  • Utiliser Spring Boot + Kafka pour vos microservices

  • Surveiller avec Prometheus + Grafana

  • Traiter les flux via Kafka Streams ou Apache Flink


👉 Regardez l’installation d’Apache Kafka en action:
Voici une courte vidéo pour mieux comprendre le processus d’installation d’Apache Kafka: (bientôt disponible) 🎥 
YouTube: Learn IT with Shikha


🏁 Conclusion

🎯 Vous avez maintenant installé Apache Kafka !
Vous pouvez envoyer et recevoir des messages et l’intégrer avec jBPM, Camunda ou Spring Boot pour créer des pipelines de données et une automatisation temps réel.


💼 Support professionnel disponible

Si vous rencontrez des problèmes sur des projets réels liés au développement backend d’entreprise ou à l’automatisation des workflows, je propose des services de conseil payants, de débogage en production, de support projet et de formations ciblées.

Les technologies couvertes incluent Java, Spring Boot, PL/SQL, Azure, ainsi que l’automatisation des workflows (jBPM, Camunda BPM, RHPAM).

📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com

Comments

Popular posts from this blog

jBPM Installation Guide: Step by Step Setup

Scopes of Signal in jBPM

OOPs Concepts in Java | English | Object Oriented Programming Explained