Installieren Sie Kafka unter Linux

Installieren Sie Kafka unter Linux

1. Umweltvorbereitung

Link zur JDK-Downloadadresse: Downloadadresse

Link zur Zookeeper-Downloadadresse: Downloadadresse

Link zur Kafka-Download-Adresse: Download-Adresse

1.1 Java-Umgebung als Voraussetzung

1.1.1 Laden Sie jdk-8u261-linux-x64.rpm auf den Server hoch und installieren Sie es

# Installationsbefehl rpm -ivh jdk-8u261-linux-x64.rpm 

Bildbeschreibung hier einfügen

1.1.2 Konfigurieren von Umgebungsvariablen

# Bearbeiten Sie die Konfigurationsdatei, das Bin-Verzeichnis von jdk, in die Datei /etc/profile, die für die Shells aller Benutzer gültig ist vim /etc/profile
# Wirksam werden Quelle /etc/profile 

Bildbeschreibung hier einfügen

export JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
export PATH=$PATH:$JAVA_HOME/bin 

Bildbeschreibung hier einfügen

# Java-Version überprüfen 

Bildbeschreibung hier einfügen

An diesem Punkt ist JDK erfolgreich installiert.

1.2 Zookeeper-Installation und -Konfiguration

1.2.1 Laden Sie zookeeper-3.4.14.tar.gz auf den Server hoch und entpacken Sie es nach /opt

# Entpacken Sie zk in das angegebene Verzeichnis tar -zxf zookeeper-3.4.14.tar.gz -C /opt 

Bildbeschreibung hier einfügen

1.2.2 Ändern Sie das Verzeichnis, in dem Zookeeper Daten speichert, dataDir

# Geben Sie das conf-Konfigurationsverzeichnis ein cd /opt/zookeeper-3.4.14/conf
# Kopieren Sie zoo_sample.cfg und nennen Sie es zoo.cfg
cp zoo_sample.cfg zoo.cfg
# Bearbeiten Sie die Datei zoo.cfg vim zoo.cfg
dataDir=/var/riemann/zookeeper/data 

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

1.2.3 Bearbeiten Sie /etc/profile, um die Konfiguration wirksam zu machen

Legen Sie die Umgebungsvariable ZOO_LOG_DIR fest, um den Speicherort anzugeben, an dem Zookeeper Protokolle speichert.
ZOOKEEPER_PREFIX zeigt auf das Verzeichnis, in dem Zookeeper entpackt wird;
Fügen Sie bin -Verzeichnis von Zookeeper zu PATH hinzu:

Bildbeschreibung hier einfügen

export ZOOKEEPER_PREFIX=/opt/zookeeper-3.4.14
export PATH=$PATH:$ZOOKEEPER_PREFIX/bin
export ZOO_LOG_DIR=/var/riemann/zookeeper/log

Nachdem die Konfiguration abgeschlossen ist, wird die Konfiguration wirksam:

Quelle /etc/Profil

1.2.4 Starten Sie Zookeeper und bestätigen Sie den Status von Zookeeper

zkServer.sh starten 

Bildbeschreibung hier einfügen

An diesem Punkt ist Zookeeper erfolgreich installiert.

1.3 Installation und Konfiguration von Kafka

1.3.1 Laden Sie kafka_2.12-1.0.2.tgz auf den Server hoch und entpacken Sie es

tar -zxf kafka_2.12-1.0.2.tgz -C /opt 

Bildbeschreibung hier einfügen

1.3.2 Umgebungsvariablen konfigurieren und wirksam machen

vim /etc/profil
exportiere KAFKA=/opt/kafka_2.12-1.0.2
export PATH=$PATH:$KAFKA/bin
Quelle /etc/Profil

1.3.3 Konfigurieren Sie die Datei server.properties in /opt/kafka_2.12-1.0.2/config

vi /opt/kafka_2.12-1.0.2/config/server.properties 

Bildbeschreibung hier einfügen

Die Adresse, unter der Kafka eine Verbindung zu Zookeeper herstellt. Die Verbindungsadresse der lokal gestarteten Zookeeper Instanz lautet localhost:2181
Das folgende myKafka ist der Stammknotenpfad von Kafka in Zookeeper

Bildbeschreibung hier einfügen

Konfigurieren des persistenten Kafka-Speicherdatenverzeichnisses

Bildbeschreibung hier einfügen

log.dirs=/var/riemann/kafka/kafka-logs

Erstellen Sie das obige persistente Datenverzeichnis

mkdir -p /var/riemann/kafka/kafka-logs

1.4 Kafka starten

Geben Sie das Stammverzeichnis der Kafka-Installation ein und führen Sie den folgenden Befehl aus:

kafka-server-start.sh ../config/server.properties 

Bildbeschreibung hier einfügen

Bei einem erfolgreichen Start können Sie den Startstatus in der letzten Zeile der Konsolenausgabe sehen: Kafka wurde erfolgreich installiert.

Bildbeschreibung hier einfügen

1.5 Öffnen Sie ein Fenster erneut und zeigen Sie die Zookeeper-Knoten an


Bildbeschreibung hier einfügen

1.6 Zu diesem Zeitpunkt wird Kafka im Vordergrundmodus gestartet. Um es zu stoppen, verwenden Sie Strg+C

Um es im Hintergrund zu starten, verwenden Sie den Befehl:

kafka-server-start.sh -daemon config/server.properties

Sehen Sie sich den Hintergrundprozess von Kafka an:

ps -ef | grep kafka 

Bildbeschreibung hier einfügen

Stoppen Sie den im Hintergrund laufenden Kafka:

kafka-server-stop.sh

2. Produktion und Verbrauch

Überprüfen Sie den Zookeeper-Status. Wenn Zookeeper erfolgreich gestartet wurde, starten Sie Kafka.

Bildbeschreibung hier einfügen

2.1 kafka-topics.sh wird zum Verwalten von Themen verwendet

Hilfeinformationen zu Befehlen anzeigen

[root@master1 bin]# kafka-topics.sh
Erstellen, löschen, beschreiben oder ändern Sie ein Thema.
Option Beschreibung                            
------ -----------                            
--alter Anzahl der Partitionen ändern,        
                                           Replikatzuweisung und/oder           
                                           Konfiguration für das Thema.         
--config <String: name=value> Eine Themenkonfigurationsüberschreibung für die 
                                           Thema wird erstellt oder geändert.   
                                           Nachfolgend finden Sie eine Liste gültiger         
                                           Konfigurationen:                      
                                         	Bereinigungsrichtlinie                        
                                         	Komprimierungstyp                      
                                         	löschen.Aufbewahrung.ms                   
                                         	Datei.Löschen.Verzögerung.ms                  
                                         	Nachrichten leeren                        
                                         	spülen.ms                              
                                         	Follower.Replikation.gedrosselt.       
                                           Repliken                             
                                         	Index.Intervall.Bytes                  
                                         	Führer.Replikation.gedrosselte.Replikate 
                                         	max.Nachricht.Bytes                     
                                         	Nachricht.Format.Version                
                                         	Nachricht.Zeitstempel.Differenz.max.ms   
                                         	Nachricht.Zeitstempel.Typ                
                                         	Mindestreinigungs-/Schmutzverhältnis             
                                         	min.compaction.lag.ms                 
                                         	min.insync.Replikate                   
                                         	vorbelegen                           
                                         	Aufbewahrung.Bytes                       
                                         	Aufbewahrung.ms                          
                                         	segment.bytes                         
                                         	segment.index.bytes                   
                                         	segment.jitter.ms                     
                                         	segment.ms                            
                                         	unrein.Führer.Wahl.ermöglichen        
                                         Vollständige Informationen finden Sie in der Kafka-Dokumentation.   
                                           Details zum Thema Konfigurationen.        
--create Neues Thema erstellen.                    
--delete Thema löschen                         
--delete-config <String: name> Eine Themenkonfigurationsüberschreibung, die   
                                           für ein bestehendes Thema entfernt (siehe   
                                           die Liste der Konfigurationen unter dem 
                                           --config-Option).                    
--describe Listendetails zu den angegebenen Themen.     
--disable-rack-aware Rack-bewusste Replikatzuweisung deaktivieren  
--force Unterdrückt Konsoleneingabeaufforderungen               
--help Nutzungsinformationen drucken.               
--if-exists wenn beim Ändern oder Löschen gesetzt       
                                           Themen, die Aktion wird nur ausgeführt 
                                           wenn das Thema existiert                  
--if-not-exists Wenn beim Erstellen von Themen festgelegt,       
                                           Die Aktion wird nur ausgeführt, wenn      
                                           Thema existiert noch nicht         
--list Alle verfügbaren Themen auflisten.             
--partitions <Integer: Anzahl der Partitionen> Die Anzahl der Partitionen für das Thema 
                                           erstellt oder geändert werden (WARNUNG:   
                                           Wenn Partitionen für einen    
                                           Thema, das einen Schlüssel hat, die Partition  
                                           Logik oder Reihenfolge der Nachrichten    
                                           wird betroffen sein                     
--replica-assignment <String: Eine Liste der manuellen Partition-zu-Broker   
  broker_id_for_part1_replica1 : Zuweisungen für das Thema      
  broker_id_for_part1_replica2, erstellt oder geändert.                  
  Broker-ID für Teil2-Replikat1:                                                
  Broker-ID für Teil2_Replikat2, ...>                                           
--replication-factor <Integer: Der Replikationsfaktor für jede        
  Replikationsfaktor> Partition im erstellten Thema.
--topic <String: topic> Das zu erstellende, zu ändernde oder       
                                           beschreiben. Kann auch eine reguläre akzeptieren  
                                           Ausdruck außer für die Option --create
--topics-with-overrides wenn nur bei der Beschreibung von Themen gesetzt    
                                           Themen anzeigen, die überschrieben wurden     
                                           Konfigurationen                              
--unavailable-partitions wenn nur bei der Beschreibung von Themen gesetzt    
                                           Partitionen anzeigen, deren Leader nicht ist  
                                           verfügbar                            
--under-replicated-partitions wenn nur bei der Beschreibung von Themen gesetzt    
                                           unter replizierten Partitionen anzeigen     
--zookeeper <String: urls> ERFORDERLICH: Die Verbindungszeichenfolge für    
                                           die Zookeeper-Verbindung im Formular 
                                           Host:Port. Mehrere URLs können      
                                           gegeben, um ein Failover zu ermöglichen.            
[root@master1 bin]# 
# Vorhandene Themen auflisten [root@master1 ~]# kafka-topics.sh --list --zookeeper localhost:2181/myKafka
# Erstellen Sie ein Thema, das eine Partition enthält, die die Leader-Partition ist und keine Follower-Partitionsreplikate hat.
[root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --create --topic topic_test --partitions 1 --replication-factor 1
# Partitionsinformationen anzeigen [root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --list
# Detaillierte Informationen zum angegebenen Thema anzeigen [root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --describe --topic topic_test 
# Löschen Sie das angegebene Thema [root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --delete --topic topic_test 

Listen Sie vorhandene Themen auf und erstellen Sie ein Thema, das eine Partition enthält, die die führende Partition ist und keine Replikate der folgenden Partition hat.

Bildbeschreibung hier einfügen

Detaillierte Informationen zu einem bestimmten Thema anzeigen

Bildbeschreibung hier einfügen

Erstellen Sie ein Thema, das mehrere Partitionen enthält

Mehrere Partitionen: Horizontale Erweiterung Mehrere Replikate: Hohe Verfügbarkeit

Bildbeschreibung hier einfügen

2.2 kafka-console-consumer.sh wird zum Konsumieren von Nachrichten verwendet

# Consumer aktivieren [root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_test 
# Starten Sie den Consumer-Modus 2 und konsumieren Sie von Anfang an, nicht entsprechend dem Offset [root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_test --from-beginning

2.3 kafka-console-producer.sh wird zum Erstellen von Nachrichten verwendet

# Öffnen Sie den Produzenten [root@node1 ~]# kafka-console-producer.sh --topic topic_test --broker-list localhost:9020

2.4 Spezifische Operationen

Ermöglichen Sie Verbrauchern und Produzenten, Nachrichten zu erstellen und zu konsumieren.

Bildbeschreibung hier einfügen

Verbraucher verbrauchen entsprechend dem Ausgleich

Bildbeschreibung hier einfügen

Verbraucher verbrauchen von Anfang an, nicht nach dem Offset

Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels zur Installation von Kafka in einer Linux-Umgebung. Weitere Informationen zur Installation von Kafka in Linux finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierter Installations- und Konfigurationsprozess von Kafka
  • Tutorial zur Integration und Installation von SpringBoot Kafka
  • Detaillierte Installationsschritte für die Kafka- und Storm-Clusterumgebung
  • Super detaillierte Schritte zur Installation und Bereitstellung von Kafka

<<:  Einige Einstellungen von Div bezüglich Rahmen und Transparenz

>>:  Zusammenfassung der CSS-Farbverlaufseffekte (linearer Farbverlauf und radialer Farbverlauf)

Artikel empfehlen

Kapseln Sie die Navigationsleistenkomponente mit Vue

Vorwort: Die vollständige Kapselung eines Funktio...

WeChat-Applet implementiert Suchfunktion und springt zur Suchergebnisseite

Suchseite: search.wxml-Seite: <view class=&quo...

Fallstudie zu den SQL ROW_NUMBER()- und OVER()-Methoden

Syntaxformat: row_number() über (Partition durch ...

So machen Sie React-Komponenten im Vollbildmodus

einführen Dieser Artikel basiert auf React + antd...

Verwendung des optionalen Verkettungsoperators von JS

Vorwort Der optionale Verkettungsoperator (?.) er...

Detaillierte Verwendung des Docker-Maven-Plugins

Inhaltsverzeichnis Docker-Maven-Plugin Schritte z...

Markup-Validierung für Doctype

Aber vor kurzem habe ich festgestellt, dass die Ve...

Detaillierte Erklärung der neuen Hintergrundeigenschaften in CSS3

Bisher kannten wir mehrere Hintergrundattribute i...

So binden Sie einen Docker-Container an eine externe IP und einen externen Port

Docker ermöglicht die Bereitstellung von Netzwerk...

So verwenden Sie MySQL zur Abdeckung von Index- und Tabellenrückgabe

Zwei Hauptkategorien von Indizes Verwendete Speic...

MySQL 8.0.19 Win10 - Schnellinstallations-Tutorial

Dieses Tutorial enthält das Installationstutorial...

So verwalten Sie Docker über die Benutzeroberfläche

Docker wird in immer mehr Szenarien verwendet. Fü...

Detaillierte Erläuterung des MySQL MVCC-Mechanismusprinzips

Inhaltsverzeichnis Was ist MVCC Mysql-Sperre und ...