#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. это устарело