Suche…


Einführung

Kafka bietet Befehlszeilen-Tools zum Verwalten von Themen und Verbrauchergruppen, zum Konsumieren und Veröffentlichen von Nachrichten usw.

Wichtig : Kafka-Konsolenskripts unterscheiden sich für Unix-basierte und Windows-Plattformen. In den Beispielen müssen Sie möglicherweise die Erweiterung entsprechend Ihrer Plattform hinzufügen.

Linux : Skripte in bin/ mit der Erweiterung .sh .

Windows : Skripts in bin\windows\ und mit der Erweiterung .bat .

kafka-themen

Mit diesem Tool können Sie Themen auflisten, erstellen, ändern und beschreiben.

Themen auflisten:

kafka-topics  --zookeeper localhost:2181 --list

Erstellen Sie ein Thema:

kafka-topics  --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

erstellt ein Thema mit einer Partition und keiner Replikation.

Beschreiben Sie ein Thema:

kafka-topics  --zookeeper localhost:2181 --describe --topic test

Ändern Sie ein Thema:

# change configuration
kafka-topics  --zookeeper localhost:2181 --alter --topic test --config max.message.bytes=128000
# add a partition
kafka-topics  --zookeeper localhost:2181 --alter --topic test --partitions 2

(Achtung: Kafka unterstützt nicht die Reduzierung der Anzahl der Partitionen eines Themas.) (Siehe Liste der Konfigurationseigenschaften ).

Kafka-Konsolenproduzent

Mit diesem Tool können Sie Meldungen über die Befehlszeile erstellen.

Senden Sie einfache Stringnachrichten an ein Thema:

kafka-console-producer --broker-list localhost:9092 --topic test
here is a message
here is another message
^D

(jede neue Zeile ist eine neue Nachricht, geben Sie zum Beenden Strg + D oder Strg + C ein)

Nachrichten mit Schlüssel senden:

kafka-console-producer --broker-list localhost:9092 --topic test-topic \
        --property parse.key=true \
        --property key.separator=,
key 1, message 1
key 2, message 2
null, message 3
^D

Nachrichten aus einer Datei senden:

kafka-console-producer --broker-list localhost:9092 --topic test_topic < file.log

Kafka-Konsolen-Verbraucher

Mit diesem Tool können Sie Nachrichten eines Themas verwenden.

--bootstrap-server die alte Consumer-Implementierung zu verwenden, ersetzen Sie --bootstrap-server durch --zookeeper .

Einfache Nachrichten anzeigen:

kafka-console-consumer --bootstrap-server localhost:9092 --topic test 

Alte Nachrichten verbrauchen:

Um ältere Nachrichten --from-beginning , können Sie die Option --from-beginning .

Schlüsselwertmeldungen anzeigen :

kafka-console-consumer  --bootstrap-server localhost:9092 --topic test-topic \
    --property print.key=true \
    --property key.separator=, 

kafka-simple-consumer-shell

Dieser Consumer ist ein einfaches Tool, mit dem Sie Nachrichten von bestimmten Partitionen, Offsets und Repliken verwenden können.

Nützliche Parameter:

  • parition : die bestimmte Partition, von der konsumiert werden soll (Standardeinstellung für alle)
  • offset : der Anfangsversatz. Verwenden Sie -2 , um Nachrichten von Anfang an zu verbrauchen, und -1 , um vom Ende an zu verbrauchen.
  • max-messages : Anzahl der zu druckenden Nachrichten
  • replica : die Replik, Standard für den Broker-Leader (-1)

Beispiel:

kafka-simple-consumer-shell  \
    --broker-list localhost:9092 \
    --partition 1 \
    --offset 4 \
    --max-messages 3 \
    --topic test-topic

Zeigt 3 Meldungen von Partition 1 an, beginnend mit Offset 4 aus dem Testthema.

Kafka-Verbrauchergruppen

Mit diesem Tool können Sie Verbrauchergruppen auflisten, beschreiben oder löschen. Weitere Informationen zu Verbrauchergruppen finden Sie in diesem Artikel .

Wenn Sie noch die alte Consumer-Implementierung verwenden, ersetzen Sie --bootstrap-server durch --zookeeper .

Verbrauchergruppen auflisten:

kafka-consumer-groups  --bootstrap-server localhost:9092 --list
octopus

Beschreiben Sie eine Verbrauchergruppe:

kafka-consumer-groups  --bootstrap-server localhost:9092 --describe --group octopus
GROUP          TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG       OWNER
octopus        test-topic      0          15              15              0         octopus-1/127.0.0.1
octopus        test-topic      1          14              15              1         octopus-2_/127.0.0.1

Bemerkungen : in der Ausgabe oben

  • current-offset ist der zuletzt festgelegte Versatz der Verbraucherinstanz,
  • log-end-offset ist der höchste Offset der Partition (das Summieren dieser Spalte gibt die Gesamtzahl der Nachrichten für das Thema an.)
  • lag ist die Differenz zwischen dem aktuellen Offset des Verbrauchers und dem höchsten Offset, also wie weit hinter dem Verbraucher liegt.
  • owner ist die client.id des Verbrauchers (wenn nicht angegeben, wird eine Standard- client.id angezeigt).

Eine Verbrauchergruppe löschen:

Das Löschen ist nur verfügbar, wenn die Gruppenmetadaten im zookeeper (alte Consumer-API) gespeichert sind. Mit der neuen Consumer-API übernimmt der Broker alles, einschließlich Löschen von Metadaten: Die Gruppe wird automatisch gelöscht, wenn der letzte festgeschriebene Offset für die Gruppe abläuft.

kafka-consumer-groups --bootstrap-server localhost:9092 --delete --group octopus


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow