1. ホーム
  2. apache-kafka

[解決済み] 削除マークがついたトピックはいつ、どのように削除されるのですか?

2023-06-23 14:46:39

質問

トピックを削除するコマンドを発行しました。

./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 設定 delete.topic.enable = trueconfig/server.properties のKafkaブローカーで、...我慢してください。

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=trueconfig/server.properties で、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