Ich muss ein Thema in Kafka 0.8.2.2.3 löschen. Ich habe den folgenden Befehl zum Löschen des Themas verwendet:
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic DummyTopic
Der Befehl wurde erfolgreich ausgeführt, aber als ich einen Befehl ausführte, um die Themen aufzulisten, konnte ich sehen, dass das Thema immer noch vorhanden ist und angezeigt wird zum Löschen markiert.
bin/kafka-topics.sh --list --zookeeper localhost:2181
DummyTopic - marked for deletion
Und wenn ich das Thema DummyTopic erstelle, wird die Ausnahme ausgegeben. Das Thema existiert bereits und unten ist der Stacktrace:
Error while executing topic command Topic "DummyTopic" already exists.
kafka.common.TopicExistsException: Topic "DummyTopic" already exists.
at kafka.admin.AdminUtils$.createOrUpdateTopicPartitionAssignmentPathInZK(AdminUtils.scala:248)
at kafka.admin.AdminUtils$.createTopic(AdminUtils.scala:233)
at kafka.admin.TopicCommand$.createTopic(TopicCommand.scala:92)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:54)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
Wie kann ich dieses Thema löschen?
Apache Kafka löscht niemals ein zum Löschen markiertes Thema, wenn zu diesem Thema noch Produzenten produzieren, Konsumenten noch daraus konsumieren oder Nachrichten in der Warteschlange verbleiben. Eine Möglichkeit, dies zu erzwingen, besteht darin, Kafka neu zu starten. Oder wenn das nicht funktioniert, gehen Sie unter die Haube und löschen Sie das Verzeichnis, das Ihr Themenname ist, unter /var/local/kafka/data. Starten Sie dann Kafka neu und geben Sie dann den Löschbefehl erneut aus. Ich wünschte, Apache Kafka hätte eine Option zum „Nukle the Bleeping Topic“, damit der Entwickler den Befehl erteilen kann: „Wirklich, dieses Mal geht es mir wirklich gut, bitte keine Frechheit.“
– Eric Leschinski
7. September 2016 um 21:07 Uhr
bin/kafka-topics.sh –delete –zookeeper localhost:2181 –topic
– Avinav Mishra
21. Februar 2017 um 2:16
Die Option zookeeper ist veraltet. Verwenden Sie stattdessen –bootstrap-server. stackoverflow.com/a/53429129/5456789
– Amir Azizkhani
6. Juli 2022 um 10:40 Uhr
Das hat bei mir funktioniert (innerhalb von Docker): bin/kafka-topics –delete –topic DummyTopic –bootstrap-server localhost:29092
– Enrico Giurin
28. November 2022 um 3:46