Ich muss das Thema test
in Apache Kafka 0.8.1.1 löschen.
Wie in der Dokumentation hier ausgedrückt , habe ich ausgeführt:
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test
Dies führt jedoch zu der folgenden Meldung:
Command must include exactly one action: --list, --describe, --create or --alter
Wie kann ich dieses Thema löschen?
apache-kafka
EmPak5
quelle
quelle
Antworten:
Das Löschen eines Themas funktioniert in 0.8.1.1 nicht immer
Das Löschen sollte in der nächsten Version 0.8.2 funktionieren
Ist es möglich, ein Thema zu löschen?
Jira KAFKA-1397
quelle
Es scheint, dass der Löschbefehl aufgrund eines bekannten Fehlers ( https://issues.apache.org/jira/browse/KAFKA-1397 ) nicht offiziell in Kafka 0.8.1.x dokumentiert wurde .
Trotzdem wurde der Befehl noch im Code ausgeliefert und kann ausgeführt werden als:
In der Zwischenzeit wurde der Fehler behoben und der Löschbefehl ist jetzt offiziell in Kafka 0.8.2.0 verfügbar als:
quelle
Fügen Sie die folgende Zeile in $ {kafka_home} /config/server.properties hinzu
Starten Sie den Kafka-Server mit der neuen Konfiguration neu:
Löschen Sie die gewünschten Themen:
quelle
Andrea ist richtig. Wir können es über die Kommandozeile tun.
Und wir können es immer noch programmieren, indem wir
Eigentlich empfehle ich nicht, das Thema auf Kafka 0.8.1.1 zu löschen. Ich kann dieses Thema mit dieser Methode löschen, aber wenn Sie das Protokoll auf zookeeper überprüfen, wird es durch Löschen durcheinander gebracht.
quelle
Sie können ein bestimmtes Kafka-Thema (Beispiel
test
:) aus dem zookeeper-Shell-Befehl (zookeeper-shell.sh
) löschen . Verwenden Sie den folgenden Befehl, um das Thema zu löschenBeispiel:
quelle
Schritte zum Löschen eines oder mehrerer Themen in Kafka
Um Themen in Kafka zu löschen, muss die Löschoption auf dem Kafka-Server aktiviert sein.
Löschen Sie ein Thema in Kafka und geben Sie den folgenden Befehl ein
kafka-topics.sh --delete --zookeeper localhost: 2181 --topic
Mehr als ein Thema aus kafka löschen
(Gut zu Testzwecken, wo ich mehrere Themen erstellt habe und sie für verschiedene Szenarien löschen musste)
bin / kafka-topics.sh --list --zookeeper localhost: 2181
Wenn keine Themen aufgelistet sind, wurden alle Themen erfolgreich gelöscht. Wenn Themen aufgelistet sind, war das Löschen nicht erfolgreich. Versuchen Sie die obigen Schritte erneut oder starten Sie Ihren Computer neu.
quelle
server.properties
Datei angezeigt wird. Sie müssen diese Zeile manuell hinzufügen.Diese Schritte löschen alle Themen und Daten
quelle
Der Befehl:
markiert leider nur das Thema zum Löschen.
Das Löschen erfolgt nicht.
Dies macht Probleme beim Testen von Skripten, wodurch die Kafka-Konfiguration vorbereitet wird.
Verbundene Threads:
quelle
Wenn Sie die obigen Antworten hinzufügen, müssen Sie die mit diesem Thema verknüpften Metadaten im zookeeper-Consumer-Offset-Pfad löschen.
bin/zookeeper-shell.sh zookeeperhost:port
rmr /consumers/<sample-consumer-1>/offsets/<deleted-topic>
Andernfalls ist die Verzögerung bei auf zookeeper basierenden Kafka-Überwachungstools negativ.
quelle
Wie in doc hier erwähnt
Stellen Sie sicher, dass delete.topic.enable = true ist
quelle
quelle
Wenn Sie Probleme beim Löschen der Themen haben, versuchen Sie, das Thema folgendermaßen zu löschen:
Befehl. Um den Löschvorgang zu überprüfen, wechseln Sie in das Verzeichnis kafka logs, in dem sich normalerweise befindet
/tmp/kafka-logs/
, und löschen Sie dieyour_topic_name
Datei perrm -rf your_topic_name
Befehl.Denken Sie daran, den gesamten Prozess über ein Kafka-Management-Tool wie zu überwachen
Kafka Tool
.Der oben erwähnte Prozess entfernt die Themen ohne Neustart des Kafka-Servers.
quelle
Schritt 1: Stellen Sie sicher, dass Sie mit Zookeeper und Kafka verbunden sind
Schritt 2: Um das Kafka-Thema zu löschen, führen Sie Kafka-topic (Mac) oder Kafka-topic.sh aus, wenn Sie (Linux / Mac) verwenden. Fügen Sie den Port und --topic mit dem Namen Ihres Themas hinzu und - löschen Sie es, indem Sie das Thema mit löschen Erfolg.
quelle
Zuerst führen Sie diesen Befehl aus, um Ihr Thema zu löschen:
Aktive Themen auflisten, um das Löschen vollständig zu überprüfen:
quelle