我发出了删除主题的命令:
./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
那是什么意思呢?当将话题被真正删除?我该如何加快这个过程?
文艺青年最爱的套装delete.topic.enable = true
在config/server.properties
卡夫卡的经纪人和......耐心等待.
它发生在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) ?
问题的关键是有delete.topic.enable=true
在config/server.properties
您使用启动卡夫卡经纪人.
? 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的情况下,我必须手动删除以下条目 -
从Kafka代理机器中删除主题文件夹.
登录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
我遇到了同样的问题,花了几天时间试图找出问题所在.我触发了删除主题的命令,但主题已标记为删除但未删除.
我首先检查了设置正确的配置.在:server.properties下
delete.topic.enable = true表示所有经纪人
我重新启动代理以检查主题是否被删除(No !!).
我检查/ kafka/data文件夹下没有数据.
我甚至考虑过等待保留时间超过的选项.
没人帮忙.我不得不最后登录zooker
./zkCli.sh # and delete the topics using rmr /brokers/topics/<<topic>> and rmr /admin/delete_topics/<<topic>>
请记得在此之后重启kafka.希望这能解决您的问题.