如何删除kafka中marked for deletion的topic
如何删除kafka中marked for deletion的topic
如果Broker中没有开启配置项delete.topic.enable=true
,则使用/bin/kafka-topics.sh --delete
是不会彻底的删除一个topic,而是把topic的状态置为marked for deletion
。
使用命令查看topic列表
/bin/kafka-topics.sh --zookeeper localhost:2181 --list
__consumer_offsets
topic - marked for deletion
方法1 开启配置项delete.topic.enable=true
-
修改kafaka配置文件server.properties, 添加delete.topic.enable=true,重启kafka,之后通过kafka命令行就可以直接删除topic
-
删除命令
/bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic [topic名称]
方法2 Zookeeper中删除
-
执行删除命令
/bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic [topic名称]
-
登录Kafka的zk节点
zookeeper/bin/zkCli.sh -server localhost:2181
-
查看topic的配置
ls /brokers/topics
-
删除已经被标记删除的topic
# 删除topic deleteall /brokers/topics/[topic名称] # 删除topic标记记录,不执行此信息将无法再次创建同名topic deleteall /admin/delete_topics/[topic名称]
-
删除log文件
rm -rf kafka/data/logs/[topic名称]