Apache Kafka est une puissante plateforme de streaming d'événements distribués, capable de gérer des milliards d'événements par jour. Développé à l'origine par LinkedIn et open source début 2011, Kafka est devenu l'épine dorsale de nombreuses architectures de données modernes. Dans ce guide, nous vous expliquerons tout ce dont vous avez besoin pour démarrer avec Apache Kafka, de la compréhension de son architecture à sa configuration et à l'exécution des opérations de base.
Apache Kafka est conçu pour gérer les flux de données en temps réel. Il fonctionne comme une plate-forme à haut débit et à faible latence pour gérer les flux de données. Kafka est souvent utilisé pour créer des pipelines de données et des applications de streaming en temps réel qui s'adaptent au flux de données. Certains cas d'utilisation courants incluent l'agrégation de journaux, l'analyse en temps réel et le traitement de flux.
Avant de plonger dans la configuration et les opérations, il est essentiel de comprendre quelques concepts et terminologies clés dans Kafka :
La configuration d'Apache Kafka implique plusieurs étapes, notamment le téléchargement du logiciel nécessaire, sa configuration et le démarrage des services. Dans cette section, nous fournirons une procédure détaillée pour vous assurer que votre environnement Kafka est opérationnel sans problème.
Avant de commencer à configurer Kafka, assurez-vous que votre système répond aux conditions préalables suivantes :
Java Development Kit (JDK): Kafka nécessite Java 8 ou une version ultérieure. Vous pouvez vérifier votre version Java avec la commande suivante :
java -version
Si Java n'est pas installé, vous pouvez le télécharger et l'installer à partir du site Web d'Oracle ou utiliser un gestionnaire de paquets comme apt pour les systèmes basés sur Debian ou Brew pour macOS :
# For Debian-based systems sudo apt update sudo apt install openjdk-11-jdk # For macOS brew install openjdk@11
Apache ZooKeeper: Kafka utilise ZooKeeper pour gérer les configurations distribuées et la synchronisation. ZooKeeper est fourni avec Kafka, vous n'avez donc pas besoin de l'installer séparément.
Télécharger Kafka: visitez la page de téléchargement officielle d'Apache Kafka et téléchargez la dernière version de Kafka. Au moment de la rédaction, Kafka 2.8.0 est la dernière version stable.
wget https://downloads.apache.org/kafka/2.8.0/kafka_2.13-2.8.0.tgz
Extraire le fichier téléchargé: Extrayez le fichier tar dans un répertoire de votre choix.
tar -xzf kafka_2.13-2.8.0.tgz cd kafka_2.13-2.8.0
Démarrer ZooKeeper: Kafka nécessite que ZooKeeper s'exécute. Démarrez le service ZooKeeper à l'aide du fichier de configuration fourni.
bin/zookeeper-server-start.sh config/zookeeper.properties
ZooKeeper devrait démarrer sur le port par défaut 2181. Vous devriez voir des messages de journal indiquant que ZooKeeper est opérationnel.
Démarrer Kafka Broker: ouvrez une nouvelle fenêtre de terminal et démarrez le courtier Kafka à l'aide du fichier de configuration fourni.
bin/kafka-server-start.sh config/server.properties
Kafka devrait démarrer sur le port par défaut 9092. Vous devriez voir des messages de journal indiquant que le courtier Kafka est opérationnel.
Bien que les configurations par défaut soient adaptées au développement et aux tests, vous devrez peut-être personnaliser les paramètres pour un environnement de production. Certains fichiers de configuration clés incluent :
Vous pouvez modifier ces fichiers de configuration en fonction de vos besoins. Par exemple, pour changer le répertoire des journaux, vous pouvez modifier la propriété log.dirs dans le fichier server.properties :
log.dirs=/path/to/your/kafka-logs
Pour faciliter la gestion, notamment sur les serveurs Linux, vous pouvez créer des fichiers de service systemd pour ZooKeeper et Kafka. Cela vous permet de démarrer, d'arrêter et de redémarrer ces services à l'aide de systemctl.
Fichier du service ZooKeeper: Créez un fichier nommé zookeeper.service dans le répertoire /etc/systemd/system/ :
[Unit] Description=Apache ZooKeeper After=network.target [Service] Type=simple ExecStart=/path/to/kafka/bin/zookeeper-server-start.sh /path/to/kafka/config/zookeeper.properties ExecStop=/path/to/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Fichier de service Kafka: Créez un fichier nommé kafka.service dans le répertoire /etc/systemd/system/ :
[Unit] Description=Apache Kafka After=zookeeper.service [Service] Type=simple ExecStart=/path/to/kafka/bin/kafka-server-start.sh /path/to/kafka/config/server.properties ExecStop=/path/to/kafka/bin/kafka-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Enable and Start Services: Enable and start the services using systemctl:
sudo systemctl enable zookeeper sudo systemctl start zookeeper sudo systemctl enable kafka sudo systemctl start kafka
You can now manage ZooKeeper and Kafka using standard systemctl commands (start, stop, status, restart).
To verify that your Kafka setup is working correctly, you can perform some basic operations such as creating a topic, producing messages, and consuming messages.
Creating a Topic:
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
You should see a confirmation message indicating that the topic has been created successfully.
Producing Messages:
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
Type a few messages in the console and press Enter after each message.
Consuming Messages:
Open a new terminal window and run:
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
You should see the messages you produced in the previous step.
By following these steps, you should have a fully functional Apache Kafka environment set up on your system. This setup forms the foundation for developing and deploying real-time data streaming applications using Kafka.
Getting started with Apache Kafka can seem daunting, but with the right guidance, you can quickly get up to speed. This guide provided a comprehensive introduction to Kafka, from installation to basic operations and building simple producers and consumers. As you continue to explore Kafka, you will uncover its full potential for building robust, real-time data pipelines.
By following this guide, you’ve taken the first steps in mastering Apache Kafka. Happy streaming!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!