apache-kafka
Kafka-Konsolen-Tools
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-serverdie alte Consumer-Implementierung zu verwenden, ersetzen Sie--bootstrap-serverdurch--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-serverdurch--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-offsetist der zuletzt festgelegte Versatz der Verbraucherinstanz, -
log-end-offsetist der höchste Offset der Partition (das Summieren dieser Spalte gibt die Gesamtzahl der Nachrichten für das Thema an.) -
lagist die Differenz zwischen dem aktuellen Offset des Verbrauchers und dem höchsten Offset, also wie weit hinter dem Verbraucher liegt. -
ownerist dieclient.iddes Verbrauchers (wenn nicht angegeben, wird eine Standard-client.idangezeigt).
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