Высокая доступность Spark Jobserver

У меня есть автономный кластер Spark с несколькими узлами. Я смог получить его High Available с помощью zookeeper. Я использую Spark Jobserver spark-2.0-preview, и я настроил файл jobserver env1.conf с доступными URL-адресами искры, например, следующим образом:

spark://<master1>:<port>,<master2>:<port>

Все работает нормально, поэтому, если master1 не работает, сервер заданий подключается к master2.

  • Но что произойдет, если машина, на которой установлен сервер заданий, выйдет из строя?
  • Есть ли способ сделать что-то вроде того, что я сделал со искрой? Имея 2 экземпляра сервера заданий на 2 отдельных машинах и zookeeper для управления в случае сбоя одного из них.
  • Или мне нужно самой справляться с этой ситуацией?

person José    schedule 05.09.2017    source источник


Ответы (1)


Я бы пошел с третьим решением. Однажды я использовал Spark Jobserver, не в HA, но в тот момент я искал решение. Позвольте мне высказать вам свое мнение:

  • Если Spark Jobserver развернут только на одном компьютере, по умолчанию это точка отказа в случае сбоя компьютера.
  • Spark Jobserver не использует Zookeeper для координации узлов (по крайней мере, на тот момент, когда я его использовал), вместо этого он использует акторную модель, реализованную во фреймворке Akka.
  • Лучший способ, я думаю, это справиться с этим самостоятельно. И здесь может быть подход: простой способ — запустить несколько экземпляров Spark Jobserer на разных машинах, которые указывают на одну и ту же базу данных и прокси-сервер перед ними. Теперь проблема будет перемещать HA сервера базы данных (вероятно, это будет проще решить)

Я предлагаю проверить репозиторий Spark Jobserver на github, потому что они обсуждают это. (https://github.com/spark-jobserver/spark-jobserver/issues/42)

person dumitru    schedule 06.09.2017
comment
Спасибо, я проверил вашу ссылку и прочитал другие темы, последняя активность в которых была почти год назад. Надеюсь, скоро они решат начать над этим работать :) - person José; 06.09.2017