Удалить конфигурацию уровня темы - PullRequest
1 голос
/ 20 мая 2019

Чтобы удалить все данные в теме, я установил для конфигурации retention.ms значение 1000.

./bin/kafka-topics.sh --zookeeper $KAFKAZKHOSTS --alter --topic <topic> --config retention.ms=1000

Это сработало нормально. Все данные были удалены после очень короткого ожидания.

Перед изменением конфигурации в теме не было задано retention.ms, поэтому по умолчанию для сервера было задано свойство log.retention.hours = 168 по умолчанию. (log.retention.minutes и log.retention.ms не были установлены в свойствах сервера).

Теперь я хотел бы полностью удалить конфигурацию retention.ms из этой темы и вернуться к использованию конфигурации уровня сервера.

Такие команды, как

./bin/kafka-topics.sh --zookeeper $KAFKAZKHOSTS --alter --topic <topic> --config retention.ms=

или

./bin/kafka-topics.sh --zookeeper $KAFKAZKHOSTS --alter --topic <topic> --config retention.ms=null

выбросить ошибку.

Я знаю, что опция удаления для kafka-topics.sh фактически удаляет всю тему, поэтому я не буду пытаться поиграться с этим.

Вопрос: Как полностью удалить конфигурацию уровня темы, чтобы тема вернулась к использованию сервера по умолчанию?

Ответы [ 2 ]

1 голос
/ 20 мая 2019

Чтобы удалить переопределение конфигурации темы, вы можете использовать инструмент kafka-config. Например:

./bin/kafka-configs.sh --zookeeper <zookeeper> --alter \
  --entity-type topics --entity-name <topic> --delete-config retention.ms
0 голосов
/ 20 мая 2019

Другое традиционное решение, которое я использовал, - это удаление вручную определенной папки для конкретной темы.

  1. Сначала остановите сервер kafka
  2. Перейдите в / var / lib / kafka / data (где хранятся ваши данные Кафки, которые вы указываете при установке)
  3. rm -rf / var / lib / kafka / data / yourTopicName-0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...