Очистка / усечение темы Кафки, работающей на Linux, но не на Mac - PullRequest
0 голосов
/ 13 мая 2019

Функция утилиты bash для очистки темы kafka путем манипуляции с интервалом retention выглядит следующим образом:

clearKafka() {
  tname=$1 ;
  kafka-topics.sh --zookeeper localhost:2181 --alter --topic $tname --config retention.ms=1000
  sleep 25s;
  kafka-console-consumer.sh  --from-beginning   --bootstrap-server localhost:9092 --property print.key=true  --property print.value=false --property print.partition --topic $tname --timeout-ms 300 | tail -n 10|grep "Processed a total of"
  kafka-topics.sh --zookeeper localhost:2181 --alter --topic $tname --config retention.ms=600000;
  sleep 25s;
  kafka-console-consumer.sh  --from-beginning   --bootstrap-server localhost:9092 --property print.key=true  --property print.value=false --property print.partition --topic $tname --timeout-ms 300 | tail -n 10|grep "Processed a total of"
}

Это немного грязно (ПРЕДУПРЕЖДЕНИЕ ..), но работает на linux - обратите внимание на последнюю информацию, которая нашла 0 сообщений.

$ clearKafka airsmall
WARNING: Altering topic configuration from this script has been deprecated and may be removed in future releases.
         Going forward, please use kafka-configs.sh for this functionality
Updated config for topic airsmall.
[2019-05-13 03:11:01,552] ERROR Error processing message, terminating consumer process:  (kafka.tools.ConsoleConsumer$)
org.apache.kafka.common.errors.TimeoutException
Processed a total of 2000 messages
WARNING: Altering topic configuration from this script has been deprecated and may be removed in future releases.
         Going forward, please use kafka-configs.sh for this functionality
Updated config for topic airsmall.
[2019-05-13 03:11:01,552] ERROR Error processing message, terminating consumer process:  (kafka.tools.ConsoleConsumer$)
org.apache.kafka.common.errors.TimeoutException
Processed a total of 0 messages

Та же утилита на mac заканчивается отображением 2000 сообщений даже в самом конце.

Processed a total of 2000 messages

И на самом деле все еще показывает 2000 сообщений с этой командой даже через несколько минут. Так какое же дело на Mac для этого? Как очистить тему на Mac?

1 Ответ

0 голосов
/ 13 мая 2019

Оказывается, команда работает на Mac ... это занимает намного больше времени: через несколько минут - может быть, всего 5 или 10 минут - тема показывается как очищенная

Processed a total of 0 messages

Не уверен, почему linux делает это за несколько десятков секунд, но mac требует минут ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...