Ich muss ein Thema in kafka-0.8.2.2.3 löschen.So löschen Sie ein Thema in Apache kafka
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic DummyTopic
Der Befehl wird erfolgreich ausgeführt, aber wenn ich einen Befehl ausführen, um die Themen zu verzeichnen, konnte ich sehen, dass das Thema ist immer noch da, und es zeigt zum Löschen markiert: Ich habe den unten Befehl zum Löschen des Themas verwenden .
bin/kafka-topics.sh --list --zookeeper localhost:2181
DummyTopic - marked for deletion
Und wenn ich das Thema erstellen DummyTopic es die Ausnahme gibt, das Thema bereits vorhanden ist, unten ist die Stack-Trace:
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)
Bitte lassen Sie mich wissen, wie kann ich dieses Thema löschen.
Apache Kafka nie ein Thema für die Verwendung markiert löscht Löschen, wenn bei diesem Thema Produzenten immer noch produzieren, oder Verbraucher immer noch davon konsumieren oder Nachrichten in der Warteschlange hängen bleiben. Eine Möglichkeit zu versuchen, es 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 und starten Sie dann Kafka neu und geben Sie den Löschbefehl erneut aus. Ich wünschte, Apache Kafka hätte eine "Nuke the Bleeping Topic" -Option, so dass der Entwickler den Befehl ausgeben kann: "Wirklich, Totes wirklich dieses Mal Nuke das piepende Thema bitte nicht". –
bin/kafka-topics.sh -delete -zookeeper localhost: 2181 -topic –