Несколько мастеров для Spark и Zookeeper HA

#apache-spark #apache-kafka #apache-zookeeper

#apache-spark #apache-kafka #apache-zookeeper

Вопрос:

Я пытаюсь настроить multi master spark для обеспечения высокой доступности в автономном режиме.

У меня есть кластер из 6 узлов: доступно 6 рабочих и 2 мастера.

Все 6 рабочих отображаются в пользовательском интерфейсе Master 1, где, поскольку в spark master 2 нет рабочих в списке? Нужно ли мне также запускать workers на master 2?

Или ZooKeeper переключит их на master 2 в случае сбоя master 1?

Еще одна вещь, у меня есть настройка ZooKeeper для kafka на тех же узлах. Теперь мне нужно установить ZooKeeper отдельно для Spark? Должен ли новый ZooKeeper иметь другой номер порта, чем у Kafkas ZooKeeper?

Ответ №1:

Будет ли zookeeper переключать те, которые работали, на master 2 в случае сбоя master 1?

Да, так и будет. Если вы все настроили правильно, вы можете убить master 1, подождать пару секунд, и вы увидите, как мастер 2 переходит на его место, и все доступные рабочие ресурсы перемещаются туда.

Теперь мне нужно установить zookeeper отдельно для Spark?

Это дизайнерское решение, которое должна принять ваша команда, но в целом ZooKeeper предназначен для централизованной конфигурации для нескольких приложений. В нашей производственной среде у нас есть один кластер ZooKeeper, подключенный как к Kafka, так и к Spark.

Комментарии:

1. У меня есть zookeeper.properties, установленный, как показано ниже, в папках kafka clientPort= 2181 server.1= zookeeper1:2888:3888 server.2= zookeeper2:2888:3888 server.3 = zookeeper3:2888:3888. Как настроить spark и zookeeper? могу ли я просто изменить файл zookeeper.properties, который был настроен для kafka, и вставить его в папку spark / conf? Использует ли zookeeper для spark и kafka один и тот же номер порта?

2. Вам вообще не нужно настраивать ZooKeeper вручную. Все, что вам нужно, это перейти по ссылке, которую я предоставил для настройки Spark.

3. Спасибо, Юваль. Я успешно настроил HA для spark с 2 мастерами. Будут ли какие-либо потери данных (потоковая передача spark с помощью kafka) при переключении задания spark между мастерами? Какие-либо проблемы при переключении?

4. @AKC Как вы выполняете задание spark. Режим кластера или режим клиента?