GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Apache Kafka unter CentOS 8

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 CentOS 8- oder RHEL 8-Linux-Systemen.

Voraussetzungen

  • Für das neu installierte System wird empfohlen, der anfänglichen Servereinrichtung zu folgen.
  • Shell-Zugriff auf das CentOS 8-System mit sudo-Berechtigungskonto.

Schritt 1 – Java installieren

Sie müssen Java auf Ihrem System installiert haben, um Apache Kafka auszuführen. Sie können OpenJDK auf Ihrem Computer installieren, indem Sie den folgenden Befehl ausführen. Installieren Sie außerdem einige andere erforderliche Tools.

sudo dnf install java-11-openjdk wget vim

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 – Kafka Systemd Unit-Dateien einrichten

CentOS 8 verwendet systemd, um seinen Dienststatus zu verwalten. Wir müssen also systemd-Unit-Dateien für den Zookeeper- und Kafka-Dienst erstellen. Das hilft uns, Kafka-Dienste zu verwalten und zu starten/stoppen.

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

vim /etc/systemd/system/zookeeper.service

Fügen Sie unten den 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/bin/bash /usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/bin/bash /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/jre-11-openjdk"
ExecStart=/usr/bin/bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/bin/bash /usr/local/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target

Speichern Sie die Datei und schließen Sie sie.

Laden Sie den systemd-Daemon neu, um die Ä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. Sie haben Kafka erfolgreich auf Ihrem CentOS 8 installiert. Der nächste Teil dieses Tutorials hilft Ihnen, Themen im Kafka-Cluster zu erstellen und mit dem Kafka-Erzeuger- und Verbraucherdienst zu arbeiten.

Schritt 5 – Erstellen von Themen in Apache Kafka

Apache Kafka bietet mehrere Shell-Skripte, um daran zu arbeiten. Erstellen Sie zunächst ein Thema mit dem Namen „testTopic“. ” mit einer einzigen 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
KafkaonCentOS8
TutorialKafkaInstallCentOS8

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 – Apache Kafka Producer und Consumer

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
>

Öffnen Sie nun ein neues Terminal, um den Verbraucherprozess von Apache Kafka auszuführen. Kafka stellt auch einen Befehlszeilenkonsumenten bereit, 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

Die Option –from-beginning wird verwendet, um Nachrichten ab dem Anfang des ausgewählten Themas zu lesen. Sie können diese Option überspringen, um nur die neuesten Nachrichten zu lesen.

Führen Sie beispielsweise den Kafka-Producer und -Consumer in separaten Terminals aus. Geben Sie einfach einen Text auf diesem Producer-Terminal ein. sie 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 dem CentOS 8-Linux-Computer installiert und konfiguriert.


Cent OS
  1. So installieren Sie Apache Cassandra unter CentOS 8

  2. So installieren Sie Apache unter CentOS 7

  3. So installieren Sie Apache Maven unter CentOS 7

  4. So installieren Sie Apache Cassandra unter CentOS 7

  5. So installieren Sie Apache Tomcat 8 unter CentOS

So installieren Sie elgg unter CentOS 8

So installieren Sie Apache ServiceMix unter CentOS 8

So installieren Sie Apache SVN unter CentOS 7

So installieren Sie Mod_Security Apache unter CentOS 6

So installieren Sie Apache Kafka unter CentOS 8

So installieren Sie Apache Kafka in CentOS/RHEL 7