何时/如何最终删除标记为删除的主题?

我发布了删除主题的命令:

./bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic vip_ips_alerts 

它似乎给了一个快乐的回应:

 [2014-05-31 20:58:10,112] INFO zookeeper state changed (SyncConnected) (org.I0Itec.zkclient.ZkClient) Topic "vip_ips_alerts" queued for deletion. 

但是现在10分钟后,这个话题仍然出现在--list命令中:

 ./bin/kafka-topics.sh --zookeeper localhost:2181 --list vip_ips_alerts - marked for deletion 

那么这是什么意思? 这个话题什么时候才能真正删除? 我如何加快这个过程?

tl; dr在卡夫卡经纪人的config/server.properties中设置delete.topic.enable = true ,并保持耐心。

它发生在Kafka 0.8.3-SNAPSHOT的最新开发版本:

 ➜ kafka_2.11-0.8.3-SNAPSHOT git:(trunk) ✗ ./bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic my-topic --partitions 2 --replication-factor 1 Created topic "my-topic". ➜ kafka_2.11-0.8.3-SNAPSHOT git:(trunk) ✗ ./bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic my-topic Topic:my-topic PartitionCount:2 ReplicationFactor:1 Configs: Topic: my-topic Partition: 0 Leader: 0 Replicas: 0 Isr: 0 Topic: my-topic Partition: 1 Leader: 0 Replicas: 0 Isr: 0 ➜ kafka_2.11-0.8.3-SNAPSHOT git:(trunk) ✗ ./bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic my-topic Topic my-topic is marked for deletion. Note: This will have no impact if delete.topic.enable is not set to true. ➜ kafka_2.11-0.8.3-SNAPSHOT git:(trunk) ✗ ./bin/kafka-topics.sh --zookeeper localhost:2181 --list ➜ kafka_2.11-0.8.3-SNAPSHOT git:(trunk) ✗ 

重点是在config/server.properties delete.topic.enable=true来启动一个Kafka代理。

 ➜ kafka_2.11-0.8.3-SNAPSHOT git:(trunk) ✗ grep delete.topic.enable config/server.properties delete.topic.enable=true 

您还可以确保在经纪人的日志中设置为true:

 ➜ kafka_2.11-0.8.3-SNAPSHOT git:(trunk) ✗ ./bin/kafka-server-start.sh config/server.properties [2015-07-24 22:33:26,184] INFO KafkaConfig values: ... delete.topic.enable = true 

在我使用Kafka 8.2.2的情况下,我必须手动删除以下条目 –

  1. 从Kafka代理机器中删除主题文件夹。
  2. login到zookeeper和 –

     hbase zkcli rmr /brokers/topics/{topic_name} rmr /admin/delete_topics/{topic_name} 

你能行的。

sudo ./zookeeper-shell.sh localhost:2181 rmr / brokers / topics / your_topic

正确的答案实际上是以下内容。 closuresKafka用户的电子邮件分发列表:

FrançoisLangelier *@gmail.comüberkafka.apache.org 05:57(vor 1 Stunde)

一个用户删除话题不工作ATM

我认为它将在下一个版本中提供https://issues.apache.org/jira/browse/KAFKA-1397

我面临同样的问题,花了几天的时间来试图找出问题所在。 我触发命令删除主题,但主题被标记为删除,但他们没有被删除。

  1. 我首先检查了设置正确的configuration。 在:server.properties下

    所有经纪人的delete.topic.enable = true

  2. 我重新启动经纪人来检查主题是否删除(否!!)。
  3. 我检查/ kafka / data文件夹下没有数据。
  4. 我甚至考虑过等到保留时间超过的选项。

没有帮助。 我不得不最终login到zooker

 ./zkCli.sh # and delete the topics using rmr /brokers/topics/<<topic>> and rmr /admin/delete_topics/<<topic>> 

请记住在此之后重新启动kafka。 希望这可以解决你的问题。

我的问题是类似的。 我删除了一个主题,当我列出所有主题时,它给了我相同的信息。

我放下了动物园pipe理员和经纪人。 在我的经纪人configuration文件启动zookeeper和boker中设置delete.topic.enable = true

话题不复存在……谢谢Jacek Laskowski