Ich benutze Kafka 0.10 ohne Zookeeper . Ich möchte eine Liste mit Kafka-Themen erhalten. Dieser Befehl funktioniert nicht, da wir zookeeper nicht verwenden :
bin/kafka-topics.sh --list --zookeeper localhost:2181
. Wie kann ich ohne Zookeeper die gleiche Ausgabe erhalten?
78
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
Antworten:
Kafka verwendet ZooKeeper, daher müssen Sie zuerst einen ZooKeeper-Server starten, falls Sie noch keinen haben.
Wenn Sie keinen separaten Zookeeper-Server installieren und haben möchten, können Sie das mit kafka gelieferte Convenience-Skript verwenden, um eine schnelle und fehlerhafte ZooKeeper-Instanz mit einem Knoten zu erhalten.
Starten der Zookeeper-Instanz mit einem Knoten:
Starten des Kafka-Servers:
Auflistung der in Kafka verfügbaren Themen:
quelle
localhost
z./kafka-topics.sh --list --zookeeper zookeeper:2181
. Abhängig von Ihrer Konfiguration müssen Sie möglicherweise die IP-Adresse verwenden, z. B../kafka-topics.sh --list --zookeeper 10.10.10.180:2181
Kafka 2.2 und höher
Neuere Versionen von Kafka benötigen keine ZooKeeper-Verbindungszeichenfolge mehr, um Themen aufzulisten, sondern können direkt über die Kafka-Broker aufgerufen werden.
kafka-topics.sh
wirdbin/
beim Herunterladen von Kafka im Ordner bereitgestellt . Gehen Sie wie folgt vor, um Themen aufzulisten:quelle
Um dieses Thema zu sehen, wenn wir den Befehl list topic ausführen:
$ bin/kafka-topics.sh --list --zookeeper localhost:2181
So überprüfen Sie, ob die Daten in Kafka landen:
$ bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic twitterstream --from-beginning
quelle
Für dockerisierte Kafka / Tierpfleger
Finden Sie Ihre Zookeeper Container ID
quelle
Befehle:
So starten Sie die Kafka:
Um alle Themen auf kafka aufzulisten;
Um die Daten zu überprüfen, landen Sie auf dem Kafka-Thema und drucken sie aus.
quelle
Für Kafka ist ein Tierpfleger erforderlich, und die Liste der Themen wird dort gespeichert. Daher muss das Tool für Kafka-Themen auch eine Verbindung zum Tierpfleger herstellen. kafka-clients apis in den neueren versionen sprechen nicht mehr direkt mit zookeeper , vielleicht haben sie deshalb den eindruck, dass ein setup ohne zookeeper möglich ist. Dies ist nicht der Fall, da sich Kafka intern darauf verlässt. Referenz siehe: http://kafka.apache.org/documentation.html#quickstart Schritt 2:
quelle
Die Kafka-Clients benötigen keinen Zookeeper mehr, die Kafka-Server benötigen ihn jedoch für den Betrieb.
Mit der neuen AdminClient-API können Sie eine Liste mit Themen abrufen. Der mit Kafka gelieferte Shell-Befehl wurde jedoch noch nicht neu geschrieben, um diese neue API zu verwenden.
Die andere Möglichkeit, Kafka ohne Zookeeper zu verwenden, besteht darin, einen SaaS-Kafka-as-a-Service-Anbieter wie Confluent Cloud zu verwenden, damit Sie die Kafka-Broker (und das erforderliche Backend-Zookeeper-Ensemble) nicht sehen oder betreiben.
In Confluent Cloud würden Sie beispielsweise nur den folgenden zookeeper-freien CLI-Befehl verwenden:
quelle
Kafka ist ein verteiltes System und benötigt Zookeeper. Sie müssen auch Zookeeper starten. Folgen Sie "Schnellstart" hier: https://kafka.apache.org/0100/documentation.html#quickstart
quelle
Zookeeper ist erforderlich, um Kafka auszuführen. Tierpfleger ist ein Muss. Wenn Sie jedoch eine Themenliste ohne Zookeeper anzeigen möchten, benötigen Sie ein Kafka-Überwachungstool wie das Kafka-Überwachungstool, den Kafka-Manager usw.
quelle
Um Nachrichten zu lesen, sollten Sie Folgendes verwenden:
--bootstrap-server
ist erforderlich Attribut. Sie können nur einen einzelnenkafka1:9020
Knoten verwenden.quelle
Sie müssen zuerst den Zookeeper-Server starten. Also gehe zuerst zu kafka / bin / windows und renne
Starten Sie dann im selben Ordner mit einem neuen Cmd-Fenster die Kafka-Server, indem Sie ausgeführt werden
dann laufen in kafka / bin / windows
um alle vorhandenen Themen aufzulisten.
quelle
Sie haben eine veraltete Version des Pakets mit Befehlen, die keinen Zookeeper mehr akzeptieren, sondern einen Bootstrap-Server als Verbindung. Confluent stellt dann eine interne Verbindung mit Zookeeper her.
https://www.confluent.io/download/ (5.3 oder höher)
quelle
Sie können versuchen, die folgenden zwei Befehle zu verwenden und alle Kafka-Themen aufzulisten
quelle
Verwenden der REST-Proxy- API von Confluent :
curl -X GET -H "Accept: application/vnd.kafka.v2+json" localhost:8082/topics
Wo
localhost:8082
ist die Kafka-Proxy-Adresse?quelle