我们要永久删除一个主题,如下所示
阻止经纪人
删除磁盘上的目录
rm -rf <kafka_data_dir>/<topic_name>*
从zookeeper中删除主题:
我们可以通过以下命令打印所有主题
kafka-topics.sh --zookeeper $Zookeeper_IP:2181 --describe
获取动物园cli:
bin/zkCli.sh
现在我们删除主题
rmr /config/topics/<topic_name>
rmr /brokers/topics/<topic_name>
rmr /admin/delete_topics/<topic_name>
例如 /brokers/topics/
```
rmr /brokers/topics/topic3435
rmr /brokers/topics/topic3443
rmr /brokers/topics/topic3436
rmr /brokers/topics/topic3433
rmr /brokers/topics/topic3432.
.
.
.
.
.
.
.
验证是否在zookeeper中删除了主题目录:
ls
启动代理备份
如果需要,重新创建Kafka主题
到目前为止,我描述了手动步骤
我们的目标是使用脚本或expect script而不是手动rmr步骤通过rmr删除主题
我很乐意得到建议
1条答案
按热度按时间mfpqipee1#
我真的建议使用adminclientapi或
kafka-topics.sh
用于删除主题而不是手动编辑主题的工具。当你使用
kafka-topics.sh
与--zookeeper
标志,则删除是异步的。一旦请求删除,工具将立即返回。在实践中,这个主题还可以存在一段时间。如果您使用adminclient api或
kafka-topics.sh
与--bootstrap-server
标志,它将阻止,直到主题被删除或达到超时。对于最近的kafka版本,删除通常在几秒钟内发生,因此如果指定超时,可以使其同步。