So installieren Sie Apache Kafka in Debian 11/10

So installieren Sie Apache Kafka in Debian 11/10

Apache Kafka ist eine verteilte Streaming -Plattform. Es ist nützlich, um Echtzeit-Streaming-Datenpipelines zu erstellen, um Daten zwischen den Systemen oder Anwendungen zu erhalten. Eine weitere nützliche Funktion sind Echtzeit-Streaming-Anwendungen, die Datenströme transformieren oder auf einem Datenstrom reagieren können.

In diesem Tutorial können Sie Apache Kafka auf Debian 11, Debian 10 und Debian 9 Linux Systems installieren.

Schritt 1 - Java installieren

Apache Kafka verlangte Java zum Ausführen. Sie müssen Java auf Ihrem System installieren lassen. Führen Sie den folgenden Befehl aus, um die Standard -OpenJDK auf Ihrem System aus den offiziellen PPAs zu installieren.

sudo APT aktualisieren sudo apt installieren Sie Standard-JDK 

Schritt 2 - Laden Sie Apache Kafka herunter

Laden Sie die Apache Kafka -Binärdateien von der offiziellen Download -Website herunter. Sie können auch einen beliebigen Mirror in der Nähe auswählen, um herunterzuladen.

WGet https: // dlcdn.Apache.org/kafka/3.2.0/kafka_2.13-3.2.0.TGZ  

Dann extrahieren Sie die Archivdatei

TAR XZF KAFKA_2.13-3.2.0.TGZ  sudo mv kafka_2.13-3.2.0/usr/local/kafka  

Schritt 3 - Erstellen Sie Systemd -Einheiten -Dateien

Erstellen Sie als Nächst. Dies wird dazu beitragen, Kafka -Dienste zu verwalten, um den Befehl systemCtl zu starten/zu stoppen.

Erstellen Sie zunächst die Systemd -Einheit -Datei für Zookeeper mit dem folgenden Befehl:

vim/etc/systemd/system/zookeeper.Service 

Fügen Sie unten Inhalt hinzu:

[Einheit] Beschreibung = Apache Zookeeper Server -Dokumentation = http: // zookeeper.Apache.org erfordert = Netzwerk.Ziel-Remote-FS.Ziel nach = Netzwerk.Ziel-Remote-FS.Ziel [Service] type = einfacher execstart =/usr/local/kafka/bin/zookeeper-server-start.sh/usr/local/kafka/config/zookeeper.Eigenschaften execStop =/usr/local/kafka/bin/zookeeper-server-stop.sh restart = on-abnormal [install] suchtby = multi-user.Ziel 

Speichern Sie die Datei und schließen Sie sie.

Um als Nächstes eine Kafka -Systemdatei mit dem folgenden Befehl zu erstellen:

vim/etc/systemd/system/kafka.Service 

Fügen Sie den folgenden Inhalt hinzu. Stellen Sie sicher, dass Sie den richtigen Stellen einstellen Java_Home Pfad gemäß den auf Ihrem System installierten Java.

[Einheit] Beschreibung = Apache Kafka Server -Dokumentation = http: // kafka.Apache.Org/Dokumentation.HTML erfordert = Zookeeper.Service [Service] type = einfache Umgebung = "Java_Home =/usr/lib/jvm/java-1.11.0-openjdk-amd64 "execstart =/usr/local/kafka/bin/kafka-server-start.sh/usr/local/kafka/config/server.Eigenschaften execStop =/usr/local/kafka/bin/kafka-server-stop.sh [install] wantby by = multi-user.Ziel 

Datei speichern und schließen.

Laden Sie den Systemd -Daemon neu, um neue Änderungen anzuwenden.

Systemctl Daemon-Relada 

Schritt 4 - Kafka Server starten

Kafka benötigte Zookeeper. Starten Sie also zuerst einen Zookeeper -Server auf Ihrem System. Sie können das mit Kafka verfügbare Skript verwenden, um eine Zookeeper-Instanz mit einem einzelnen Knoten zu erhalten.

sudo systemctl starten zookeeper 

Starten Sie nun den Kafka -Server und sehen Sie sich den laufenden Status an:

sudo systemctl start kafka sudo systemctl Status kafka 

Alles erledigt. Die Kafka -Installation wurde erfolgreich abgeschlossen. Der Teil dieses Tutorials hilft Ihnen, mit dem Kafka -Server zusammenzuarbeiten.

Schritt 5 - Erstellen Sie ein Thema in Kafka

Kafka bietet mehrere vorgefertigte Shell-Skript, um daran zu arbeiten. Erstellen Sie zunächst ein Thema mit dem Namen "Testtopic" mit einer einzelnen Partition mit einer einzigen Replik:

CD/USR/LOCAL/KAFKA BIN/KAFKA-Topics.sh-create-Bootstrap-server localhost: 9092-Replikationsfaktor 1-Partitionen 1--Topic Testtopic erstellt Topic Testtopic. 

Der Replikationsfaktor beschreibt, wie viele Kopien von Daten erstellt werden. Wenn wir mit einer einzigen Instanz laufen, behalten Sie diesen Wert 1.

Legen Sie die Partitionsoptionen als Anzahl der Makler fest, die Ihre Daten zwischen aufgeteilt werden sollen. Da wir mit einem einzigen Broker laufen, behalten Sie diesen Wert 1.

Sie können mehrere Themen erstellen, indem Sie denselben Befehl wie oben ausgeführt haben. Danach sehen Sie die erstellten Themen auf Kafka, indem Sie den Befehl unter unten lief:

Bin/Kafka-Topics.SH -List -Zookeeper Localhost: 9092 Testtopic Tecadmintutorial1 Tecadmintutorial2 

Alternativ können Sie Ihre Makler auch manuell manuell erstellen, um Themen automatisch zu erstellen, wenn ein nicht existierendes Thema veröffentlicht wird.

Schritt 6 - Senden Sie Nachrichten an Kafka

Der „Produzent“ ist der Prozess, der dafür verantwortlich ist, Daten in unsere Kafka zu setzen. Der Kafka wird mit einem Befehlslinienclient geliefert, der Eingaben aus einer Datei oder aus Standardeingaben übernimmt und als Nachrichten an den Kafka-Cluster versendet. Der Standard -Kafka sendet jede Zeile als separate Nachricht.

Lassen Sie uns den Produzenten ausführen und dann ein paar Nachrichten in die Konsole eingeben, um sie an den Server zu senden.

Bin/Kafka-Console-Produzent.SH-BROKER-LIST LOCALHOST: 9092--Topic Testtopic> Willkommen bei Kafka> Dies ist mein erstes Thema> 

Sie können diesen Befehl beenden oder dieses Terminal für weitere Tests laufen. Eröffnen Sie nun im nächsten Schritt ein neues Terminal für den Kafka -Verbraucherprozess.

Schritt 7 - Mit Kafka -Verbraucher

Kafka verfügt außerdem über einen Befehlszeilenverbraucher, mit dem Daten aus dem Kafka-Cluster gelesen und Nachrichten auf die Standardausgabe angezeigt werden können.

Bin/Kafka-Console-Consumer.SH-Bootstrap-Server localhost: 9092--topic Testtopic-From-Beinginning Willkommen bei Kafka Dies ist mein erstes Thema 

Wenn Sie jetzt noch Kafka -Produzent (Schritt 6) in einem anderen Terminal betreiben. Geben Sie einfach einen Text in dieses Erzeugerterminal ein. Es wird sofort am Verbraucherterminal sichtbar. Siehe den folgenden Screenshot des Kafka -Produzenten und -verbrauchers in der Arbeit:

Abschluss

Sie haben den Kafka -Dienst erfolgreich installiert und konfiguriert auf einem Debian -Linux -System.