Kafka-0.8.2.2.3のトピックを削除する必要があります。以下のコマンドを使用してトピックを削除しました。
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic DummyTopic
コマンドは正常に実行されましたが、トピックを一覧表示するコマンドを実行すると、トピックがまだ存在し、削除のマークが付いていますと表示されていることがわかりました。
bin/kafka-topics.sh --list --zookeeper localhost:2181
DummyTopic - marked for deletion
トピックDummyTopicを作成すると、例外が出力されます。トピックは既に存在します。以下はスタックトレースです。
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)
このトピックを削除する方法を教えてください。
トピックの削除は、0.8.2.xバージョンからサポートされています。最初に、すべてのブローカーでトピックの削除を有効にする(delete.topic.enable
をtrueに設定する)必要があります。
注:機能が安定している1.0.x以降、delete.topic.enable
はデフォルトでtrue
です。
トピックを手動で削除するには、この手順に従ってください。
rm -rf
コマンドでトピックディレクトリを削除しますzookeeper-Shell.sh Host:port
ls /brokers/topics
rmr /brokers/topics/yourtopic
kafka-topics.sh --list --zookeeper Host:port
を使用して、削除されたかどうかを確認します