Spark 作业服务器高可用

Spark Jobserver High Available

我有一个节点很少的独立 Spark 集群。我能够通过 zookeeper 获得高可用性。我正在使用 Spark Jobserver spark-2.0-preview,我已经使用可用的 spark URL 配置了 jobserver env1.conf 文件,如下所示:

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

一切正常,所以如果 master1 宕机,jobserver 会连接到 master2。

我会选择第三种解决方案。我用过一次 Spark Jobserver,不是在 HA 中,但我当时正在寻找解决方案。说说我的看法吧:

  • 如果 Spark Jobserver 只部署在一台机器上,默认情况下它是一个故障点,以防机器崩溃。
  • Spark Jobserver 没有使用 Zookeeper 来协调节点(至少在我使用它的那一刻),而是使用 Akka 框架中实现的 actor 模型。
  • 我认为最好的办法是自己处理。这里的方法可能是:简单的方法是在指向同一个数据库的不同机器上启动多个 Spark Jobserer 实例,并在它们前面有一个代理。现在问题将移动数据库服务器的HA(可能更容易解决)

我建议检查 Spark Jobserver github 存储库,因为他们对此进行了讨论。 (https://github.com/spark-jobserver/spark-jobserver/issues/42)