如何在 kafka 中执行批量主题删除

如何在 kafka 中执行批量主题删除

我们有 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

是的,性能将受到影响,具体取决于:

  • 某个主题中有多少条消息以及总共有多少条消息

  • 邮件大小是多少

请小心,一次最多只删除其中几个,然后验证集群是否已完成删除操作:)

相关内容