apache-kafka - 为什么删除 Kafka 主题需要这么长时间?

标签 apache-kafka kafka-topic

在 3 节点集群上,我创建了几个包含数千条消息的主题。我注意到删除主题需要很长时间。我花了超过 14 分钟删除了 500 个主题

  1. 是否有删除主题的最佳做法?
  2. 是否有任何文档可以解释为什么删除主题需要这么长时间?
  3. 当我创建主题时,Kafka 会在 log.dirs 下创建一个文件夹。我有 10000 个主题;我运行了一个命令来删除所有这些。 Kafka 已从 log.dirs 中删除所有 10000 个文件,但 Kafka-topics.sh 显示文件系统上不存在的主题,并带有“- 标记为删除”。

最佳答案

  1. 我认为在 Kafka 中删除主题没有任何最佳实践。由于 delete.topic.enable=true 是在 server.properties 中定义的,您可以使用
  2. 简单地删除主题
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic myTopic
  1. 如果您的主题足够大(而且您的复制因子可能也很高),那么这很正常。本质上,主题的消息存储在日志文件中。如果您的主题非常大,那么删除所有这些文件可能需要一些时间。我认为这里的正确指标是您尝试删除的主题的大小,而不是主题的数量(您可以有 500 个主题,每个主题有 1 条消息,而不是 500 个主题,例如每个主题有 1TB 的消息)。

关于apache-kafka - 为什么删除 Kafka 主题需要这么长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58866437/

相关文章:

apache-spark - 流分析架构。我需要哪个经纪人?

go - uber-go/zap logger 如何记录到 Kafka 主题?

Python-Kafka : Keep polling topic infinitely

go - 如何使用 Segmentio 的 kafka-go 创建 Kafka 主题?

apache-kafka - 卡夫卡 : What happens to message with null key when log compaction is enabled?

postgresql - Kafka Connect Debezium postgres

apache-kafka - 卡夫卡 : weight-based load balanced consumers

java - 如何根据需要定义具有不同自定义类型键和值序列化器的 kafka 生产者?

amazon-web-services - AWS MSK - 在 ACL 打开的情况下创建 Kafka 主题时超时

java - Spring Boot Embedded Kafka无法连接