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.
21 Answer
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.dirsandlog.dirproperties) withrm -rfcommand - 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