So stellen Sie Kafka in Docker bereit

So stellen Sie Kafka in Docker bereit

1. Docker erstellen

Hier verwende ich direkt die Docker-Compose-Bereitstellung, daher müssen Sie Compose im Voraus installieren.
Da Sie Compose verwenden werden, ist die YML-Datei natürlich unverzichtbar.

Erstellen Sie zunächst ein neues Verzeichnis und erstellen Sie eine neue YML-Datei im Verzeichnis

Bildbeschreibung hier einfügen

Der Inhalt der Datei ist wie folgt:

Version: '2'
Leistungen:
  Tierpfleger:
    Bild: Wurstmeister/Zookeeper
    Bände:
      - ./Daten:/Daten
    Häfen:
      - „2181:2181“
       
  Kafka:
    Bild: Wurstmeister/Kafka
    Häfen:
      - „9092:9092“
    Umfeld:
      KAFKA_ADVERTISED_HOST_NAME:127.0.0.1
      KAFKA_MESSAGE_MAX_BYTES: 2000000
      KAFKA_CREATE_TOPICS: "Thema1:1:3,Thema2:1:1:kompakt"
      KAFKA_ZOOKEEPER_CONNECT: Zookeeper:2181
    Bände:
      - ./kafka-logs:/kafka
      – /var/run/docker.sock:/var/run/docker.sock
 
  Kafka-Manager:
    Bild: Sheepkiller/Kafka-Manager
    Häfen:
      9020:9000
    Umfeld:
      ZK_HOSTS: Tierpfleger:2181

Dann verwenden Sie diese YML-Datei, um unser Projekt zu starten

$ docker-compose up -d

Sie können sehen, dass drei neue Container erstellt wurden.

Bildbeschreibung hier einfügen

2. Betreten Sie den Container

Wir betreten den interaktiven Modus des Kafka-Containers mit dem folgenden Befehl

$ docker exec -it kafkademo01_kafka_1 /bin/bash

Da die höhere Version von Kafka über einen integrierten Zookeeper verfügt, müssen wir den Zookeeper-Container nicht aufrufen. Daher kann auf die Bereitstellung von Zookeeper in der YML-Datei verzichtet werden.

Geben Sie dann das Stammverzeichnis von Kafka ein

$ cd /opt/kafka

3. Ändern Sie die Konfigurationsdatei

$ cd /konfiguration

Bildbeschreibung hier einfügen

Als erstes muss die Zookeeper-Konfigurationsdatei geändert werden: zookeeper.properties
(Kommentare gelöscht)

dataDir=/opt/kafka/zooLogs
Client-Port = 2182
maxClientCnxns=0
admin.enableServer=false

Ändern Sie dann die Kafka-Konfigurationsdatei: server.properties
(Kommentare gelöscht)

#################################### Server-Grundlagen ################################                                                                                                                                                                                                                                                                                                             
Broker-ID = 0                                                                                                                                        
#################################### Socket-Server-Einstellungen #################################                                                                                                                                                                                                                                                                                              
Listener = PLAINTEXT://127.0.0.1:9093

#################################### Socket-Server-Einstellungen #################################                                                                      
Listener = PLAINTEXT://127.0.0.1:9093                                                                                                                    
Anzahl.Netzwerkthreads=3                                                                                                                                   
Anzahl.io.threads=8                                                                                                                                        
socket.send.buffer.bytes=102400                                                                                                                         
socket.empfangen.puffer.bytes=102400
                                                          
socket.request.max.bytes=104857600                                                                                                                      
###################################### Grundlagen des Protokolls ################################                                                                                  
log.dirs=/opt/kafka/kafkaLogs                                                                                                                           
Anzahl Partitionen = 1                                                                                                                                        
Anzahl Wiederherstellungsthreads pro Datenverzeichnis = 1                                                                                                                     
################################### Interne Themeneinstellungen ##############################                                                                                                   
Offsets.Thema.Replikationsfaktor=1                                                                                                                       
Transaktion.Status.Log.Replikation.Faktor=1                                                                                                               
Transaktion.Status.log.min.isr=1                                                                                                                         
###################################### Richtlinie zur Protokollaufbewahrung ###############################                                                                        
log.Aufbewahrungszeiten.Stunden=168                                                                                                                                                                                                                                               
log.segment.bytes=1073741824                                                                                                                            
log.retention.check.interval.ms=300000                                                                                                                  
#################################### Tierpfleger ###############################                                                                                   
zookeeper.connect=127.0.0.1:2182                                                                                                       
zookeeper.Verbindungstimeout.ms=18000                                                                                                                   
###################################### Einstellungen für Gruppenkoordinatoren #################################                                                                  
Gruppe.initial.rebalance.delay.ms=0                                                                                                                      
Port=9093                                                                                                                                                
beworbener.Host.Name=127.0.0.1                                                                                                                           
Nachricht.max.bytes=2000000                                                                                                                                
beworbener Port = 9093

4. Testen Sie Kafka

Hier sind einige grundlegende Befehle:

ZooKeeper starten

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

Starten Sie Kafka

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

Ein Theme erstellen

kafka-topics.sh --create --zookeeper 127.0.0.1:2182 --replication-factor 1 --partitions 1 --topic test

Erstellte Themen anzeigen

kafka-topics.sh --list --zookeeper 127.0.0.1:2182

Produzent

kafka-console-producer.sh --broker-list 127.0.0.1:9093 --topic test

Verbraucher

kafka-console-consumer.sh --Bootstrap-Server 127.0.0.1:9093 - Thema Test --von-Beginn

Dies ist das Ende dieses Artikels über die Schritte zum Bereitstellen von Kafka mit Docker. Weitere Informationen zum Bereitstellen von Kafka mit Docker finden Sie in früheren Artikeln auf 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:
  • Detaillierte Analyse der Kafka-Architekturprinzipien
  • Super detaillierte Schritte zur Installation und Bereitstellung von Kafka
  • Detaillierter Installations- und Konfigurationsprozess von Kafka
  • Lassen Sie sich mit Kafkas anfänglicher Verwendung spielen
  • Kompilieren Sie die Kafka-Quellcodeumgebung mithilfe der IntelliJ-Idee unter Windows
  • Erfahren Sie mehr über Kafka HA (High Availability) in einem Artikel

<<:  Detaillierte Beschreibung des komponentenbasierten Front-End-Entwicklungsprozesses

>>:  Tkinter verwendet JS-Canvas, um Farbverlaufsfarben zu erzielen

Artikel empfehlen

Detaillierte grafische Erläuterung der MySql5.7.18-Zeichensatzkonfiguration

Hintergrund: Vor langer Zeit (2017.6.5, der Artik...

So fügen Sie in JS eine Abbruchfunktion zu einem Versprechen hinzu

Inhaltsverzeichnis Überblick Promise Race Methode...

Schritte für Docker zum Erstellen eines eigenen lokalen Image-Repositorys

1. Umgebung und Vorbereitung 1. Ubuntu 14.04 2.Do...

Spezifische Verwendung der Schnittstelle wx.getUserProfile im Applet

Kürzlich hat das WeChat Mini-Programm Anpassungen...

Detaillierte Erklärung des Rewrite-Moduls von Nginx

Das Umschreibmodul ist das Modul ngx_http_rewrite...

CentOS 6.5 i386 Installation MySQL 5.7.18 ausführliches Tutorial

Die meisten Leute kompilieren MySQL und legen es ...

Spezifische Verwendung von CSS-Inhaltsattributen

Das Inhaltsattribut wird im Allgemeinen in den Ps...

Das vergessene Button-Tag

Hinweis: Dieser Artikel wurde von jemand anderem ü...

Best Practices zum Teilen von React-Code

Wenn ein Projekt eine gewisse Komplexität erreich...

Grundlegende Implementierung der AOP-Programmierung in JavaScript

Einführung in AOP Die Hauptfunktion von AOP (Aspe...

Der Excel-Export schlägt in der Docker-Umgebung immer fehl

Der Excel-Export schlägt in der Docker-Umgebung i...

Funktionen in TypeScript

Inhaltsverzeichnis 1. Funktionsdefinition 1.1 Fun...

Zweistündiges Docker-Einführungstutorial

Inhaltsverzeichnis 1.0 Einleitung 2.0 Docker-Inst...