我们有 3 个节点的 Kafka 集群,复制因子为 3,默认日志保留期为 4 天。我们已启用自动主题创建,它将为我们的每个任务创建主题。任务完成后,我们不需要为其创建主题。现在我们在 Kafka 中有 2000 个未使用的主题,我们可以在不关闭集群的情况下批量删除这 2000 个主题吗?批量删除主题是否会影响我们集群的性能?如果是,那么在不关闭集群的情况下删除不需要的主题的安全方法是什么
答案1
查看安装文件夹中的 kafka-topics 脚本:
将列表命令放入列表中(以便您以后可以用您喜欢的语言使用它)
列出主题
bin/kafka-topics.sh --zookeeper 本地主机:2181 --列表
对于上面列表中的每个主题,运行删除命令:
删除主题
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic mytopic
是的,性能将受到影响,具体取决于:
某个主题中有多少条消息以及总共有多少条消息
邮件大小是多少
请小心,一次最多只删除其中几个,然后验证集群是否已完成删除操作:)