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

Удалить тему в Kafka 0.8.1.1

Мне нужно удалить тему test в Apache Kafka 0.8.1.1.

Как указано в документации здесь, я выполнил:

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

Однако это приводит к следующему сообщению:

Command must include exactly one action: --list, --describe, --create or --alter

Как удалить эту тему?

4b9b3361

Ответ 1

Удаление темы не всегда работает в 0.8.1.1

Удаление должно работать в следующей версии, 0.8.2

kafka-topics.sh --delete --zookeeper localhost:2181 --topic your_topic_name

  Topic your_topic_name is marked for deletion.
  Note: This will have no impact if delete.topic.enable is not set to true.

Можно ли удалить тему?

Джира КАФКА-1397

Ответ 2

Кажется, что команда удаления официально не была зарегистрирована в Kafka 0.8.1.x из-за известной ошибки (https://issues.apache.org/jira/browse/KAFKA-1397).

Тем не менее, команда по-прежнему была отправлена ​​в код и может быть выполнена как:

bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --zookeeper localhost:2181 --topic test

Тем временем ошибка была исправлена, и команда удаления теперь официально доступна из Kafka 0.8.2.0 как:

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

Ответ 3

Добавьте строку ниже в ${kafka_home}/config/server.properties

delete.topic.enable=true

Перезапустите сервер kafka с новой конфигурацией:

${kafka_home}/bin/kafka-server-start.sh ~/kafka/config/server.properties

Удалить темы, которые вы хотите:

${kafka_home}/bin/kafka-topics.sh --delete  --zookeeper localhost:2181  --topic daemon12

Ответ 4

Андреа прав. мы можем сделать это с помощью командной строки.

И мы все еще можем запрограммировать его,

ZkClient zkClient = new ZkClient("localhost:2181", 10000);
zkClient.deleteRecursive(ZkUtils.getTopicPath("test2"));

На самом деле я не рекомендую удалять тему на Kafka 0.8.1.1. Я могу удалить эту тему с помощью этого метода, но если вы проверите журнал для zookeeper, удалите его.

Ответ 5

Вы можете удалить конкретную тему kafka (пример: test) из команды оболочки zookeeper (zookeeper-shell.sh). Используйте приведенную ниже команду, чтобы удалить тему

rmr {path of the topic}

Пример:

rmr /brokers/topics/test

Ответ 6

Шаги по удалению 1 или более тем в Кафке

Чтобы удалить темы в kafka, необходимо включить параметр удаления на сервере Kafka.

1. Go to {kafka_home}/config/server.properties
2. Uncomment delete.topic.enable=true

Удалить одну тему в Kafka введите следующую команду

kafka-topics.sh --delete --zookeeper localhost: 2181 --topic

Чтобы удалить более одной темы из kafka

(полезно для тестирования, где я создал несколько тем и должен был удалить их для разных сценариев)

  • Остановить сервер Kafka и Zookeeper
  • перейдите в папку /tmp, где хранятся журналы, и вручную удалите папки kafkalogs и zookeeper.
  • Перезапустите zookeeper и kafka сервер и попробуйте указать темы,

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

Если темы не указаны, все темы удалены успешно. Если темы указаны, то удаление не было успешным. Повторите вышеуказанные шаги или перезагрузите компьютер.

Ответ 7

В этом шаге будут удалены все темы и данные

  • Остановить сервер Kafka и Zookeeper-сервер
  • Удалите каталоги данных tmp обеих служб, по умолчанию они C:/tmp/kafka-logs и C:/tmp/zookeeper.
  • затем запустите Zookeeper-сервер и Kafka-сервер

Ответ 8

Команда:

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

к сожалению, только отмечает тему для удаления.

Удаление не происходит.

Это создает проблемы при тестировании любых скриптов, которые готовят конфигурацию Kafka.

Связанные потоки:

Ответ 9

Как упоминалось в doc здесь

Опция удаления темы по умолчанию отключена. Чтобы включить его, установите конфигурацию сервера delete.topic.enable = верно В настоящее время Kafka не поддерживает сокращение количества разделов для темы или изменение коэффициента репликации.

Убедитесь, что delete.topic.enable = true

Ответ 10

При добавлении к выше ответам необходимо удалить метаданные, связанные с этим тестом, в пути смещения потребителя zookeeper.

bin/zookeeper-shell.sh zookeeperhost:port

rmr /consumers/<sample-consumer-1>/offsets/<deleted-topic>

В противном случае отставание будет отрицательным в инструментах мониторинга кафки на основе zookeeper.

Ответ 11

bin/kafka-topics.sh –delete –zookeeper localhost:2181 –topic <topic-name>

Ответ 12

Если у вас есть проблемы с удалением тем, попробуйте удалить тему, используя:

$KAFKA_HOME/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic your_topic_name

команда. Затем, чтобы проверить процесс удаления, перейдите в каталог журналов kafka, который обычно находится в /tmp/kafka-logs/, затем удалите файл your_topic_name помощью команды rm -rf your_topic_name.

Не забудьте контролировать весь процесс с помощью инструмента управления kafka, такого как Kafka Tool.

Упомянутый выше процесс удалит темы без перезапуска сервера kafka.

Ответ 13

Шаг 1: Убедитесь, что вы подключены к Zookeeper и Kafka работает

Шаг 2: Чтобы удалить тему Kafka, запустите Kafka-topic (Mac) или Kafka-topic.sh, если вы используете (linux/Mac), добавьте порт и --topic с названием вашей темы, а --delete просто удалите тему с успех.

# Delete the kafka topic
# it will delete the kafka topic
kafka-topics --zookeeper 127.0.0.1:2181 --topic name_of_topic --delete
# or
kafka-topics.sh --zookeeper 127.0.0.1:2181 --topic name_of_topic --delete

Ответ 14

Сначала вы запускаете эту команду для удаления вашей темы:

$ bin/kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic <topic_name>

Список активных тем, чтобы проверить удалить полностью:

$ bin/kafka-topics.sh --list --bootstrap-server localhost:9092