Apache Kafka ist eine leistungsstarke, verteilte Event-Streaming-Plattform, die Billionen von Ereignissen pro Tag verarbeiten kann. Kafka wurde ursprünglich von LinkedIn entwickelt und Anfang 2011 als Open-Source-Lösung veröffentlicht und hat sich zu einem zentralen Rückgrat für viele moderne Datenarchitekturen entwickelt. In diesem Leitfaden führen wir Sie durch alles, was Sie für den Einstieg in Apache Kafka benötigen, vom Verständnis der Architektur über die Einrichtung bis hin zur Durchführung grundlegender Vorgänge.
Apache Kafka ist für die Verarbeitung von Echtzeit-Datenfeeds konzipiert. Es fungiert als Plattform mit hohem Durchsatz und geringer Latenz für die Verarbeitung von Datenströmen. Kafka wird häufig zum Aufbau von Echtzeit-Streaming-Datenpipelines und Anwendungen verwendet, die sich an den Datenstrom anpassen. Einige häufige Anwendungsfälle umfassen Protokollaggregation, Echtzeitanalysen und Stream-Verarbeitung.
Bevor Sie sich mit der Einrichtung und dem Betrieb befassen, ist es wichtig, einige Schlüsselkonzepte und Terminologie in Kafka zu verstehen:
Das Einrichten von Apache Kafka umfasst mehrere Schritte, darunter das Herunterladen der erforderlichen Software, deren Konfiguration und das Starten der Dienste. In diesem Abschnitt stellen wir eine detaillierte Anleitung zur Verfügung, um sicherzustellen, dass Sie Ihre Kafka-Umgebung reibungslos zum Laufen bringen können.
Bevor Sie mit der Einrichtung von Kafka beginnen, stellen Sie sicher, dass Ihr System die folgenden Voraussetzungen erfüllt:
Java Development Kit (JDK): Kafka erfordert Java 8 oder höher. Sie können Ihre Java-Version mit dem folgenden Befehl überprüfen:
java -version
Wenn Java nicht installiert ist, können Sie es von der Oracle-Website herunterladen und installieren oder einen Paketmanager wie apt für Debian-basierte Systeme oder brew für macOS verwenden:
# For Debian-based systems sudo apt update sudo apt install openjdk-11-jdk # For macOS brew install openjdk@11
Apache ZooKeeper: Kafka verwendet ZooKeeper, um verteilte Konfigurationen und Synchronisierung zu verwalten. ZooKeeper ist im Lieferumfang von Kafka enthalten, sodass Sie es nicht separat installieren müssen.
Kafka herunterladen: Besuchen Sie die offizielle Apache Kafka-Downloadseite und laden Sie die neueste Version von Kafka herunter. Zum Zeitpunkt des Schreibens ist Kafka 2.8.0 die neueste stabile Version.
wget https://downloads.apache.org/kafka/2.8.0/kafka_2.13-2.8.0.tgz
Heruntergeladene Datei extrahieren: Extrahieren Sie die TAR-Datei in ein Verzeichnis Ihrer Wahl.
tar -xzf kafka_2.13-2.8.0.tgz cd kafka_2.13-2.8.0
ZooKeeper starten: Kafka erfordert die Ausführung von ZooKeeper. Starten Sie den ZooKeeper-Dienst mit der bereitgestellten Konfigurationsdatei.
bin/zookeeper-server-start.sh config/zookeeper.properties
ZooKeeper sollte am Standardport 2181 starten. Sie sollten Protokollmeldungen sehen, die darauf hinweisen, dass ZooKeeper betriebsbereit ist.
Kafka Broker starten: Öffnen Sie ein neues Terminalfenster und starten Sie den Kafka Broker mit der bereitgestellten Konfigurationsdatei.
bin/kafka-server-start.sh config/server.properties
Kafka sollte am Standardport 9092 starten. Sie sollten Protokollmeldungen sehen, die darauf hinweisen, dass der Kafka-Broker betriebsbereit ist.
Während die Standardkonfigurationen für Entwicklung und Tests geeignet sind, müssen Sie die Einstellungen möglicherweise für eine Produktionsumgebung anpassen. Zu den wichtigsten Konfigurationsdateien gehören:
Sie können diese Konfigurationsdateien entsprechend Ihren Anforderungen bearbeiten. Um beispielsweise das Protokollverzeichnis zu ändern, können Sie die Eigenschaft log.dirs in der Datei server.properties bearbeiten:
log.dirs=/path/to/your/kafka-logs
Zur Vereinfachung der Verwaltung, insbesondere auf Linux-Servern, können Sie systemd-Dienstdateien für ZooKeeper und Kafka erstellen. Dadurch können Sie diese Dienste mit systemctl.
starten, stoppen und neu startenZooKeeper-Dienstdatei: Erstellen Sie eine Datei mit dem Namen zookeeper.service im Verzeichnis /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
Kafka-Dienstdatei: Erstellen Sie eine Datei mit dem Namen kafka.service im Verzeichnis /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!
Das obige ist der detaillierte Inhalt vonErste Schritte mit Apache Kafka. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!