kafka-topics.sh — удалить —тема «testTopic» не работает для kafka V 0.10.1

#apache-kafka

#apache-kafka

Вопрос:

Я пытаюсь удалить существующую тему (я проверил с помощью консоли управления kafka), используя следующую команду;

#./kafka-topics.sh —zookeeper zookeeper.xx.com:2181/chroot —удалить —тема testTopic

Но там написано, что тема недоступна в zookeeper.[1]

Я создаю эти темы во время выполнения. (Я использую высокоуровневые клиентские API.Я думаю, что он создан в кластерах kafka?)

Как я могу удалить тему, используя этот скрипт bash?

[1]

 Error while executing topic command : Topic targettopic does not exist on ZK path zookeeper.xx.com:2181/chroot

[2016-10-14 11:58:59,919] ERROR java.lang.IllegalArgumentException: Topic streamtargettopic does not exist on ZK path zookeeper.xx.com:2181/chroot

at kafka.admin.TopicCommand$.deleteTopic(TopicCommand.scala:169)

at kafka.admin.TopicCommand$.main(TopicCommand.scala:69)

at kafka.admin.TopicCommand.main(TopicCommand.scala)
 

Комментарии:

1. Существует ли тема? ./bin/kafka-topics.sh --zookeeper 127.0.0.1:2181/chroot --topic testTopci --describe

2. @louxiu Нет вывода для приведенной выше команды. Значит, моей темы нет в zookeeper? Итак, где темы создаются в kafka 0.10?

3. Не уверен в 0.10.1, я пробовал это в 0.9.0.1 ./bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --topic test_kafka123 --replication-factor 1 --partitions 1 . Тема находится в разделе /brokers/topics zk, и приведенная выше команда может быть напечатана. Я думаю, вы можете попробовать создать тему с помощью command, если вы еще не пробовали.

4. Проблема @louxiu заключалась в том, что у меня был «/ chroot» в конце параметра zookeeper. Теперь работает нормально и без этого.

Ответ №1:

Вы можете использовать приведенную ниже команду, чтобы проверить list of topics доступные Zookeeper .

 bin/kafka-topics.sh --list --zookeeper localhost:2181
 

Также установите следующие свойства в server.properties

 delete.topic.enable=true 
 

Затем попробуйте удалить тему с помощью

 bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test
 

Комментарии:

1. Это работает. Спасибо. Проблема заключалась в том, что в конце у меня был «/ chroot». Именно так указано в документации kafka.apache.org/documentation.html#basic_ops_modify_topic

2. в последней версии --zookeeper заменен на --bootstrap-server . изменив его, это работает только для меня.

Ответ №2:

Если приведенная ниже команда не сработала для вас

 bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test
 

Вы можете выполнить удаление вручную, подключившись к zookeeper и удалив путь.

 ./zookeeper-shell.sh
 

Удалите тему вручную

 rmr /brokers/topics/<topic>
 

Комментарии:

1. это устарело