Как удалить таблицу или поток в KSQL, когда тема была удалена первой - PullRequest
0 голосов
/ 11 декабря 2018

Использование KSQL (Confluent: Version: 5.0.1) Я могу нормально отбрасывать таблицу / поток (используя DROP [TABLE|STREAM]) <NAME>, когда связанная тема существует и когда она зарегистрирована (Registered = true).

Однако, если тема удалена первой (Registered = false), то связанный поток или таблица не могут быть отброшены с помощью KSQL, указывающего, что «Тема с именем Foo не зарегистрирована».

Проблема в том, что поток / таблица по-прежнему отображается в списке, и новый поток / таблица не могут быть добавлены с тем же именем.

Есть ли способ удалить их после удаления темы?

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019

Я думаю, что нашел ответ, или, по крайней мере, в правильном направлении.

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

REGISTER TOPIC <ksql_topic_name> WITH (KAFKA_TOPIC='<kafka_topic_name>', VALUE_FORMAT='<format>');

Затем

DROP STREAM <stream_name>;

Я не знаю, работает ли это ввсе дела, но это вернуло меня туда, где я хочу быть.Если кто-то еще может повторить это и найти более надежное решение, я хотел бы услышать об этом.

0 голосов
/ 12 декабря 2018

Я боролся с этими проблемами типа некоторое время.Вот где я нахожусь, из моих заметок:

Не можете удалить потоки / таблицы / темы?Удалите их в zookeeper:

  • Завершите работу всех производителей или потребителей, связанных с темами, которые вы будете удалять
  • Попытайтесь удалить свои таблицы и потоки из CLI KSQL
  • Завершите работу KSQL-сервера
  • Удалите темы с помощью 'kafka-topic' CLI
  • Удалите в zookeeper так:

    localhost: shell-оболочки zookeeper: 2181

    ls / brokers / themes

    _confluent-controlcenter-5-0-0-1-TriggerEventsStore-changelog, _confluent-controlcenter-5-0-0-1-error-topic, ...

    rmr / brokers / themes / yourTopicName

Теперь создайте "kafka-themes --list --zookeeper localhost: 2181 ', и они должны исчезнуть навсегда.

ИЛИ, для АБСОЛЮТНОЙ ЯДЕРНОЙ ОПЦИИ:

  • Попытка отбросить ваши таблицы и потоки из CLI KSQL
  • Завершить работу сервера KSQL
  • Завершить работуbrokers and zookeepers
  • Удалите все в директории kafka logs на каждом узле брокера (местоположение директории определено в вашем пр.operties file).
  • Запустите зоопарков еще раз и удалите / brokers / themes из CLI zookeeper

Запустите все обратно, и все должно исчезнуть.Но будьте осторожны, вы потеряете все, все свои данные.

...