我已使用以下命令直接从Zookeeper中删除了主题,并且之前未从Kafka中执行删除操作:
zookeeper-shell.sh localhost:2181 rmr /brokers/topics/<topic_name>
现在,我看到的是该主题出现在群集中至少一个代理的log.dirs
中。有没有一种可以删除的方法。
当我现在尝试从kafka删除时,它会引发以下错误
Error while executing topic command : Topic <topic_name> does not exist on ZK path <zookeeper_server_list:2181>
答案 0 :(得分:1)
我认为您错过了几个步骤。为了手动删除主题,您需要按照以下步骤操作:
1)停止Kafka服务器
2)在每个经纪人上,您必须删除logs.dirs
下的所有主题的日志文件:
rm -rf path/to/logs/topic_name/
3)从Zookeeper中删除主题目录:
> zookeeper-shell.sh localhost:2181
> ls /brokers/topics
> rmr /brokers/topics/topic_name
4)重新启动Kafka服务器
请注意,删除主题的建议方法是
/bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic topic_name
假设delete.topic.enable=true
。