Подтвердить что ты не робот

Когда/как окончательно удаляется тема "помечена для удаления"?

Я выпустил команду для удаления темы:

./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

Так что это значит? Когда будет действительно удалена тема? Как ускорить этот процесс?

4b9b3361

Ответ 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, мне пришлось удалить записи из следующего вручную -

  • Удалить папку тем из брокера Kafka.
  • Войдите в zookeeper и -

    hbase zkcli
    rmr /brokers/topics/{topic_name}
    rmr /admin/delete_topics/{topic_name}
    

Ответ 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, который является лидером раздела темы. Следует помнить, что руководитель раздела темы должен быть настроен правильно (с точки зрения слушателей), иначе он не получит инструкцию удалить журналы.

Мои темы "помеченные для удаления" застряли в этом состоянии, пока я не исправил свойства своего сервера и не перезапустил соответствующий узел.