GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Apache Kafka unter Debian 10/9

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

Dieses Tutorial hilft Ihnen bei der Installation von Apache Kafka auf Debian 10-, Debian 9- und Debian 8-Systemen.

Schritt 1 – Java installieren

Apache Kafka erforderte Java, um ausgeführt zu werden. Auf Ihrem System muss Java installiert sein. Führen Sie den folgenden Befehl aus, um das standardmäßige OpenJDK von den offiziellen PPAs auf Ihrem System zu installieren.

sudo apt update
sudo apt install default-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 jeden Spiegel in der Nähe zum Herunterladen auswählen.

wget http://www-us.apache.org/dist/kafka/2.7.0/kafka_2.13-2.7.0.tgz

Extrahieren Sie dann die Archivdatei

tar xzf kafka_2.13-2.7.0.tgz
mv kafka_2.13-2.7.0 /usr/local/kafka

Schritt 3 – Systemd-Unit-Dateien erstellen

Erstellen Sie als Nächstes systemd-Unit-Dateien für den Zookeeper- und Kafka-Dienst. Dies hilft bei der Verwaltung von Kafka-Diensten zum Starten/Stoppen mit dem Befehl systemctl.

Erstellen Sie zuerst eine systemd-Unit-Datei für Zookeeper mit dem folgenden Befehl:

vim /etc/systemd/system/zookeeper.service

Fügen Sie den folgenden Inhalt hinzu:

[Unit]
Description=Apache Zookeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target

[Service]
Type=simple
ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

Speichern Sie die Datei und schließen Sie sie.

Als Nächstes erstellen Sie mit dem folgenden Befehl eine Kafka-Systemd-Unit-Datei:

vim /etc/systemd/system/kafka.service

Fügen Sie den folgenden Inhalt hinzu. Achten Sie darauf, das richtige JAVA_HOME einzustellen Pfad gemäß dem auf Ihrem System installierten Java.

[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service

[Service]
Type=simple
Environment="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.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target

Datei speichern und schließen.

Laden Sie den systemd-Daemon neu, um neue Änderungen zu übernehmen.

systemctl daemon-reload

Schritt 4 – Kafka-Server starten

Kafka benötigte ZooKeeper, also starten Sie zuerst einen ZooKeeper-Server auf Ihrem System. Sie können das mit Kafka verfügbare Skript verwenden, um eine Einzelknoten-ZooKeeper-Instanz zu starten.

sudo systemctl start 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 wird Ihnen helfen, mit dem Kafka-Server zu arbeiten.

Schritt 5 – Erstellen Sie ein Thema in Kafka

Kafka bietet mehrere vorgefertigte Shell-Skripte, 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 --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic

Created topic testTopic.

Der Replikationsfaktor beschreibt, wie viele Kopien von Daten erstellt werden. Da wir mit einer einzelnen Instanz arbeiten, belassen Sie diesen Wert bei 1.

Legen Sie die Partitionsoptionen als die Anzahl der Broker fest, auf die Ihre Daten aufgeteilt werden sollen. Da wir mit einem einzelnen Broker arbeiten, belassen Sie diesen Wert bei 1.

Sie können mehrere Themen erstellen, indem Sie denselben Befehl wie oben ausführen. Danach können Sie die erstellten Themen auf Kafka mit dem folgenden Befehl anzeigen:

bin/kafka-topics.sh --list --zookeeper localhost:2181

testTopic
TecAdminTutorial1
TecAdminTutorial2

Anstatt Themen manuell zu erstellen, können Sie alternativ Ihre Broker auch so konfigurieren, dass Themen automatisch erstellt werden, wenn ein nicht vorhandenes Thema veröffentlicht wird.

Schritt 6 – Nachrichten an Kafka senden

Der „Produzent“ ist der Prozess, der dafür verantwortlich ist, Daten in unser Kafka einzufügen. Kafka wird mit einem Befehlszeilenclient geliefert, der Eingaben aus einer Datei oder von der Standardeingabe entgegennimmt und als Nachrichten an den Kafka-Cluster sendet. Das Standard-Kafka sendet jede Zeile als separate Nachricht.

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

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic

>Welcome to kafka
>This is my first topic
>

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

Schritt 7 – Verwenden von Kafka Consumer

Kafka hat auch einen Befehlszeilenkonsumenten, um Daten aus dem Kafka-Cluster zu lesen und Meldungen auf der Standardausgabe anzuzeigen.

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

Welcome to kafka
This is my first topic

Nun, wenn Sie noch Kafka Producer (Schritt #6) in einem anderen Terminal ausführen. Geben Sie einfach einen Text auf diesem Producer-Terminal ein. es wird sofort auf dem Endgerät des Verbrauchers sichtbar. Sehen Sie sich den folgenden Screenshot des Kafka-Produzenten und -Konsumenten in Arbeit an:

Schlussfolgerung

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


Debian
  1. So installieren Sie Apache Maven unter Debian 10

  2. So installieren Sie Apache Maven unter Debian 11

  3. So installieren Sie Apache Cassandra unter Debian 11 / Debian 10

  4. So installieren Sie Erlang unter Debian 10/9/8

  5. So installieren Sie Bower unter Debian 10/9/8

So installieren Sie Apache Tomcat unter Debian 11

So installieren Sie Apache Solr 8.9 unter Debian 10/9/8

So installieren Sie Jenkins unter Debian 10/9/8

So installieren Sie Mono unter Debian 10/9

So installieren Sie Apache Kafka unter Debian 9

So installieren Sie Apache Kafka unter Debian 10