Когда/как окончательно удаляется тема "помечена для удаления"?
Я выпустил команду для удаления темы:
./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
Так что это значит? Когда будет действительно удалена тема? Как ускорить этот процесс?
Ответы
Ответ 1
tl; dr Установите delete.topic.enable = true
в config/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=true
в config/server.properties
используется для запуска брокера Kafka.
➜ kafka_2.11-0.8.3-SNAPSHOT git:(trunk) ✗ grep delete.topic.enable config/server.properties
delete.topic.enable=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
Ответ 2
В моем случае, когда я использую Kafka 8.2.2, мне пришлось удалить записи из следующего вручную -
Ответ 3
Вы можете это сделать.
sudo./zookeeper-shell.sh localhost: 2181 rmr/brokers/topics/your_topic
Ответ 4
Я столкнулся с той же проблемой и провел пару дней, пытаясь идентифицировать проблему. Я вызвал команду для удаления тем, однако темы были помечены для удаления, но они не были удалены.
- Сначала я проверил конфигурацию, которые установлены правильно. В разделе: server.properties
delete.topic.enable = true для всех брокеров
- Я перезапустил брокера, чтобы проверить, получили ли темы удаление (Нет!).
- Я не проверяю данные в папке /kafka/data.
- Я даже рассмотрел возможность подождать, пока время удержания не превысит.
Ничего не помогло. Я должен был наконец войти в zooker
./zkCli.sh # and delete the topics using
rmr /brokers/topics/<<topic>> and rmr /admin/delete_topics/<<topic>>
Не забудьте перезапустить kafka после этого.
Надеюсь, это решит вашу проблему.
Ответ 5
Правильный ответ на самом деле следующий. HOT из списка рассылки электронной почты группы пользователей Kafka:
François Langelier *@gmail.com über kafka.apache.org 05:57 (vor 1 Stunde)
пользователи Тема удаления не работает ATM
Я думаю, что он будет доступен в следующем выпуске https://issues.apache.org/jira/browse/KAFKA-1397
Ответ 6
Для 0.10.0.0
версии 0.10.0.0
достаточно включить удаление темы, установив:
delete.topic.enable
Тема удалена за несколько минут
kafka-topics --delete --zookeeper your-zk:2181 --topic yourTopicName
Вы можете подтвердить, что он пропал с помощью следующей команды:
kafka-topics --describe --zookeeper your-zk:2181 --topic yourTopicName
Ответ 7
Моя проблема была похожа.
Я удалил тему, и она давала мне то же сообщение, когда я перечислял все темы.
Я сбил зоокера и брокера.
установите файл delete.topic.enable = true в моем конфигурационном файле брокера
начал zookeeper и boker
Тема исчезла... благодаря Яцеку Ласковскому
Ответ 8
Проверьте статус темы в zookeeper
bin\windows>kafka-topics.bat --list --zookeeper localhost:2181
Output: topic shows marked for deletion
Установка delete.topic.enable = true в server.properties также не работала.
Решение: Проверьте расположение каталога данных zookeeper в файле zookeeper.properties. это был dataDir =/tmp/zookeeper.
Проблема была решена после обновления "dataDir" на новое место.
dataDir=zk-temp
# the port at which the clients will connect
clientPort=2181
# disable the per-ip limit on the number of connections since this is a non-production config
maxClientCnxns=0
Ответ 9
У нас была эта проблема при удалении тем. Темы были созданы, когда delete.topic.enable = true не был установлен. Мы установили это в конфиге, перезапустили кафку, чтобы применить новый конфиг. Удалил темы и увидел "помечено для удаления". Затем мы снова перезапустили кафку. Через 40 минут все темы были удалены (9 тем с общим количеством разделов в тысячах). Темы с большим количеством разделов, казалось, занимали больше времени, что изначально создавало впечатление, что ничего не происходит.
Ответ 10
Для kafka version 0.10.0.0
достаточно включить удаление темы, установив:
delete.topic.enable
Тема удалена в течение нескольких минут. Перезагрузка не требуется.
kafka-topics --delete --zookeeper your-zk:2181 --topic yourTopicName
Вы можете подтвердить, что это ушло с помощью команды:
kafka-topics --describe --zookeeper your-zk:2181 --topic yourTopicName
Ответ 11
Удаление произошло практически сразу (v 0.9). Я считаю, что это должно быть то же самое для вас.
После пометки удаление будет запущено на узле kafka, который является лидером раздела темы. Следует помнить, что руководитель раздела темы должен быть настроен правильно (с точки зрения слушателей), иначе он не получит инструкцию удалить журналы.
Мои темы "помеченные для удаления" застряли в этом состоянии, пока я не исправил свойства своего сервера и не перезапустил соответствующий узел.