2024-07-20 11:05 Temps de lecture : 12 min

Comment installer Apache Kafka sur Ubuntu 20.04

Apache Kafka se présente comme une plateforme de messagerie distribuée à code source ouvert, largement adoptée pour la gestion des flux de données en temps réel. Son utilisation est fréquente dans des scénarios de traitement de données temps réel, notamment l'analyse de flux, le suivi d'événements et la centralisation de journaux.

Cet article vous guidera pas à pas dans l'installation et la configuration d'Apache Kafka sur Ubuntu 20.04. Nous aborderons l'installation des prérequis, le téléchargement et l'installation de Kafka, puis la configuration et le démarrage du serveur.

Préparation de l'environnement : Installation des dépendances

Avant de procéder à l'installation d'Apache Kafka, il est essentiel d'installer certaines dépendances. Voici les commandes à exécuter dans votre terminal:

sudo apt update
sudo apt install openjdk-11-jdk
sudo apt install wget

Ces commandes assurent l'installation du kit de développement Java (JDK), nécessaire au bon fonctionnement de Kafka, ainsi que de l'utilitaire wget, qui servira au téléchargement de l'archive Kafka.

Téléchargement et Déploiement de Kafka

Une fois les prérequis installés, vous pouvez télécharger et installer Apache Kafka. Voici la procédure à suivre:

1. Téléchargement de Kafka:
Rendez-vous sur le site web officiel d'Apache Kafka (https://kafka.apache.org/downloads) et récupérez la dernière version disponible. Optez pour le fichier archive au format tar.gz.

2. Extraction de l'archive:
Utilisez la commande tar pour extraire l'archive dans le répertoire de votre choix. Par exemple, pour décompresser Kafka dans le dossier /opt/kafka, utilisez la commande suivante:

sudo tar -xzf kafka_2.13-3.5.0.tgz -C /opt/kafka

N'oubliez pas de remplacer kafka_2.13-3.5.0.tgz par le nom exact de l'archive que vous avez téléchargée.

3. Configuration des variables d'environnement:
Vous devez ajuster les variables d'environnement pour qu'elles pointent vers le dossier d'installation de Kafka. Ajoutez les lignes suivantes à votre fichier .bashrc:

export KAFKA_HOME=/opt/kafka/kafka_2.13-3.5.0
export PATH=$PATH:$KAFKA_HOME/bin

Remplacez /opt/kafka/kafka_2.13-3.5.0 par le chemin réel du répertoire où vous avez installé Kafka.

Pour activer ces changements, exécutez ensuite:

source ~/.bashrc

Configuration de Kafka

Après l'installation, il est temps de configurer Kafka. Le fichier de configuration principal est server.properties, situé dans le dossier config de votre installation Kafka.

Voici quelques options de configuration importantes:

  • broker.id: Identifiant unique pour chaque serveur Kafka.
  • zookeeper.connect: L'adresse du serveur ZooKeeper.
  • listeners: La liste des protocoles d'écoute utilisés par le serveur Kafka.
  • log.dirs: Le répertoire de stockage des données de Kafka.

Pour modifier server.properties, vous pouvez utiliser un éditeur de texte tel que nano ou vi. Par exemple, pour ajuster broker.id et zookeeper.connect, utilisez:

sudo nano /opt/kafka/kafka_2.13-3.5.0/config/server.properties

Modifiez ensuite les lignes suivantes:

broker.id=1
zookeeper.connect=localhost:2181

Remplacez 1 par un autre identifiant unique si vous utilisez plusieurs serveurs Kafka.

Démarrage du Serveur Kafka

Avec la configuration en place, vous pouvez démarrer le serveur Kafka via la commande suivante:

sudo /opt/kafka/kafka_2.13-3.5.0/bin/kafka-server-start.sh /opt/kafka/kafka_2.13-3.5.0/config/server.properties

Le serveur Kafka est maintenant opérationnel. Vous pouvez commencer à l'utiliser.

Confirmation de l'installation

Pour valider l'installation de Kafka, employez la commande kafka-topics:

/opt/kafka/kafka_2.13-3.5.0/bin/kafka-topics.sh --list --zookeeper localhost:2181

Cette commande affiche la liste des sujets Kafka existants.

Création d'un Sujet

Pour créer un nouveau sujet Kafka, utilisez la commande kafka-topics:

/opt/kafka/kafka_2.13-3.5.0/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic mytopic

Ceci crée un sujet nommé mytopic avec un facteur de réplication de 1 et une partition.

Production de Messages

Pour envoyer des messages à un sujet, utilisez kafka-console-producer:

/opt/kafka/kafka_2.13-3.5.0/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mytopic

Tapez votre message et appuyez sur Entrée pour l'envoyer.

Consommation de Messages

Pour lire les messages d'un sujet, utilisez kafka-console-consumer:

/opt/kafka/kafka_2.13-3.5.0/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytopic --from-beginning

Cette commande affichera tous les messages du sujet mytopic.

Conclusion

En suivant ce guide, vous avez installé et configuré avec succès Apache Kafka sur Ubuntu 20.04. Vous êtes désormais prêt à utiliser Kafka pour le streaming de données en temps réel, l'analyse de flux, le suivi d'événements, la gestion de journaux, et bien plus encore.

Questions Fréquentes

Q1. Qu'est-ce que précisément Apache Kafka?

Apache Kafka est un système de messagerie distribuée et open-source, conçu pour la diffusion de données en temps réel. Il est souvent utilisé dans le traitement de données en temps réel, l'analyse de flux, le suivi d'événements, et la gestion de journaux.

Q2. Quelle est la distinction entre Kafka et ZooKeeper?

Kafka, une plateforme de messagerie distribuée, s'appuie sur ZooKeeper pour la gestion de son état distribué. ZooKeeper, quant à lui, est un service de stockage de données distribué, offrant des services de coordination et de synchronisation pour les applications distribuées. Kafka utilise ZooKeeper pour des opérations comme la gestion des métadonnées, l'élection de leaders et la gestion d'erreurs.

Q3. Comment assurer la sécurité de mon installation Kafka?

La sécurité de votre installation Kafka peut être assurée par l'utilisation de protocoles d'authentification et de chiffrement. Kafka peut être configuré pour utiliser SASL pour l'authentification, et TLS pour le chiffrement des données. Des outils de sécurité comme Apache Knox peuvent également être utilisés pour contrôler l'accès à Kafka.

Q4. Comment monitorer mon installation Kafka?

Le monitoring de Kafka peut être réalisé par le biais d'outils de surveillance tels que JMX. D'autres outils tiers comme Prometheus et Grafana permettent de collecter et visualiser les métriques Kafka.

Q5. Où trouver plus d'informations sur Apache Kafka?

Des informations détaillées sont disponibles sur le site officiel de Kafka (https://kafka.apache.org/). Vous y trouverez également des tutoriels, guides et exemples de code.

Q6. Où consulter la documentation d'Apache Kafka?

La documentation officielle est disponible sur le site web d'Apache Kafka (https://kafka.apache.org/documentation.html). Elle couvre tous les aspects de Kafka, de l'installation à la sécurité, en passant par la configuration et l'utilisation.

Q7. Quelle est la dernière version d'Apache Kafka?

La version la plus récente d'Apache Kafka est la 3.5.0. Toutes les versions disponibles peuvent être trouvées sur le site de téléchargement d'Apache Kafka (https://kafka.apache.org/downloads).

Q8. Est-il possible d'utiliser Kafka avec d'autres langages de programmation?

Oui, Kafka est compatible avec un large éventail de langages de programmation. Il existe des bibliothèques clientes disponibles pour des langages tels que Java, Python, C++, Go, .NET et Node.js.

Q9. Quelles sont les alternatives à Apache Kafka?

Plusieurs alternatives à Kafka existent, notamment Apache Pulsar, RabbitMQ, NATS et Amazon Kinesis.

Q10. Quels sont les cas d'utilisation fréquents de Kafka?

Kafka est utilisé dans une variété de cas, incluant:

  • Traitement de données en temps réel: Kafka est souvent utilisé pour les applications nécessitant un traitement de données en temps réel, comme l'analyse de flux, la surveillance et la détection d'anomalies.
  • Agrégation de journaux: Kafka peut agréger des journaux de divers systèmes et applications en un lieu centralisé.
  • Suivi d'événements: Kafka permet de suivre les événements de différents systèmes et applications, tels que les actions utilisateurs, les événements systèmes et les transactions.
  • Messagerie asynchrone: Kafka peut être utilisé pour la messagerie asynchrone, permettant aux applications de communiquer sans se bloquer mutuellement.
  • Microservices: Kafka facilite la communication et la connexion entre les microservices.

Mots-clés: Kafka, Ubuntu 20.04, installation, streaming, données, messagerie, distribué, open source, server.properties, ZooKeeper, JMX, Prometheus, Grafana, monitoring, sécurité, SASL, TLS, Apache Knox, cas d'utilisation, analyse de flux, surveillance, détection d'anomalies, agrégation de journaux, suivi d'événements, messagerie asynchrone, microservices.

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.