Кроме того, не делайте повторные перезапуски брокера, как это. Вы должны сначала определить, кто является Контроллером, а затем закрыть его последним.

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

Мы написали ANSI-скрипт для отключения кластера в следующем порядке:

Остановите соединение Kafka (1, 2, 3 узла последовательно), убив процессОстановите Кафку (1, 2, 3, 4, 5 узлов последовательно), используя kafka-server-stop.shОстановите Zookeeper (1, 2, 3 узла последовательно), используя zookeeper-server-stop.sh

После исправления, запуск скрипта сделает следующее

Запустите Zookeeper (1, 2, 3 узла последовательно), используя zookeeper-server-start.shЗапустите Kafka (1, 2, 3, 4, 5 узлов последовательно), используя kafka-server-start.shЗапустите Kafka connect (1, 2, 3 узла последовательно), используя connect-distributed.sh

Проблема заключается в шаге # 3 запуска скрипта, мы сохранили жестко заданную задержку примерно за 10 минут до выполнения # 3 (запуск kafka connect), чтобы кластер kafka был полностью запущен и работал. Но иногда некоторым узлам в кластере требуется больше времени для запуска, поэтому запуск kafka connect завершается неудачно даже после задержки - в этом случае нам нужно подождать 30 минут и попытаться перезапустить подключение вручную снова.

Есть ли способ убедиться, что все узлы в кластере запущены и работают, прежде чем я начну другие процессы?

Заранее спасибо.

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

Ответы на вопрос(2)

Ваш ответ на вопрос