How to Delete a topic in apache kafka [duplicate]
I need to delete a topic in kafka-0.8.2.2.3. I have used the below command for deleting the topic:
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic DummyTopic
The command executed successfully but when I run a command to list the topics, I could see that the topic is still there and it shows marked for deletion.
bin/kafka-topics.sh --list --zookeeper localhost:2181
DummyTopic - marked for deletion
And when I create the topic DummyTopic it outputs the exception, The topic already exists, below is the 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)
Please let me know how can I delete this topic.
Deletion of a topic has been supported since 0.8.2.x version. You have to enable topic deletion (setting delete.topic.enable
to true) on all brokers first.
Note: Ever since 1.0.x, the functionality being stable, delete.topic.enable
is by default true
.
Follow this step by step process for manual deletion of topics
- Stop Kafka server
- Delete the topic directory, on each broker (as defined in the
logs.dirs
andlog.dir
properties) withrm -rf
command - Connect to Zookeeper instance:
zookeeper-shell.sh host:port
- From within the Zookeeper instance:
- List the topics using:
ls /brokers/topics
- Remove the topic folder from ZooKeeper using:
rmr /brokers/topics/yourtopic
- Exit the Zookeeper instance (Ctrl+C)
- List the topics using:
- Restart Kafka server
- Confirm if it was deleted or not by using this command
kafka-topics.sh --list --zookeeper host:port