主题何时/如何“标记为删除"最终被删除? [英] When/how does a topic "marked for deletion" get finally removed?
问题描述
我已发出删除主题的命令:
I have issued the command to delete a topic:
./bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic vip_ips_alerts
似乎给出了满意的答复:
It seemed to give a happy response:
[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
命令中:
But now 10 minutes later the topic still appears in the --list
command:
./bin/kafka-topics.sh --zookeeper localhost:2181 --list
vip_ips_alerts - marked for deletion
那是什么意思?何时真正删除该主题?我如何加快这个过程?
So what does that mean? When will the topic be really deleted? How do I expedite this process?
推荐答案
tl; dr 在 config/server中设置
,请耐心等待. delete.topic.enable = true
.卡夫卡经纪人的财产
tl;dr Set delete.topic.enable = true
in config/server.properties
of Kafka brokers and...be patient.
Kafka的最新开发版本 0.8.3-SNAPSHOT :
It happens with the latest development version of 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) ✗
关键是要在用于启动Kafka代理的 config/server.properties
中具有 delete.topic.enable = true
.
The point is to have delete.topic.enable=true
in config/server.properties
that you use to start a Kafka broker.
➜ kafka_2.11-0.8.3-SNAPSHOT git:(trunk) ✗ grep delete.topic.enable config/server.properties
delete.topic.enable=true
您还可以确保在经纪人的日志中该设置为true:
You can also ensure the setting be true in a broker's log:
➜ 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
这篇关于主题何时/如何“标记为删除"最终被删除?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!