可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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.
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?
回答1:
tl;dr Set delete.topic.enable = true
in config/server.properties
of Kafka brokers and...be patient.
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) ✗
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
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
回答2:
In my case where i am using Kafka 8.2.2, I had to delete entries from the following manually -
- Delete topic folder from Kafka broker machine.
Login to zookeeper and -
hbase zkcli
rmr /brokers/topics/{topic_name}
rmr /admin/delete_topics/{topic_name}
回答3:
You can do it.
sudo ./zookeeper-shell.sh localhost:2181 rmr /brokers/topics/your_topic
回答4:
I faced the same issue and spend a couple of days trying to identify with the issue was. I triggered command to delete the topics, however the topics were marked for deletion but they were not deleted.
- I first checked the configuration which are set right. Under: server.properties
delete.topic.enable=true for all brokers
- I restarted the broker to check if the topics got delete (No!!).
- I check no data under /kafka/data folder.
- I even considered the option to wait until the retention time got exceed.
None helped. I had to finally login to zooker
./zkCli.sh # and delete the topics using
rmr /brokers/topics/<<topic>> and rmr /admin/delete_topics/<<topic>>
Please remember to restart kafka after this.
Hope this solves your issue.
回答5:
The correct answer is actually the following. HOT off the Kafka-user's group email distribution list:
François Langelier *@gmail.com über kafka.apache.org 05:57
(vor 1 Stunde)
an users The delete topic isn't working ATM
I think it will be available in the next release
https://issues.apache.org/jira/browse/KAFKA-1397
回答6:
My issue was something similar.
I deleted a topic and it was giving me the same message when I was listing all the topics.
I brought down the zookeeper and the broker.
set the delete.topic.enable=true in my broker config file
started zookeeper and the boker
The topic was gone...thanks to Jacek Laskowski
回答7:
We had this issue when deleting topics. The topics had been created when delete.topic.enable=true had not been set. We set that in config, restarted kafka to apply the new config. Deleted the topics and saw the "marked for deletion". We then restarted kafka again. After 40 minutes though all topics had been deleted (9 topics with total partitions in the thousands). The topics with higher numbers of partitions seemed to take longer, which initially made it look like nothing was happening.
回答8:
For kafka version 0.10.0.0 it is enough to enable the topic deletion by setting:
delete.topic.enable
The topic is deleted within few moments. No restart needed.
kafka-topics --delete --zookeeper your-zk:2181 --topic yourTopicName
You can confirm that it is gone with the command:
kafka-topics --describe --zookeeper your-zk:2181 --topic yourTopicName
回答9:
For kafka version 0.10.0.0
it is enough to enable the topic deletion by setting:
delete.topic.enable
The topic is deleted within few moments
kafka-topics --delete --zookeeper your-zk:2181 --topic yourTopicName
You can confirm that it is gone with the following command:
kafka-topics --describe --zookeeper your-zk:2181 --topic yourTopicName
回答10:
The deletion happened for me almost immediately (v 0.9). I believe that it should be the same for you.
Once marked, the deletion will be triggered on the kafka node which is the topic partition leader. The thing to remember is that the the topic partition leader must be configured correctly (in terms of listeners), otherwise it will not receive the instruction to delete the logs.
I had my "marked for deletion" topics stuck at that state until I corrected my server properties and restarted the respective node.