如何在HA模式下运行Spark驱动程序?

时间:2017-05-15 09:09:59

标签: apache-spark spark-streaming mesos

我在客户端模式下将Spark驱动程序提交给Mesos集群(具有高度可用的Mesos主服务器)(请参阅this client部署模式)。

我也想在HA模式下运行Spark驱动程序。怎么样?

我可以为此实现我自己的实现,但现在寻找任何可用的东西。

1 个答案:

答案 0 :(得分:1)

tl; dr cluster部署模式与--supervise一起使用,例如spark-submit --deploy-mode cluster --supervise

client无法在cluster模式下拥有Spark驱动程序的HA:

  

在客户端模式下,Spark Mesos框架直接在客户端计算机上启动,并等待驱动程序输出。

您必须以某种方式监控客户端计算机上的进程并检查其退出代码。

更安全的解决方案是让Mesos完成它的工作。您应该使用<img class="selectable" src="/images/Tooling/1.png" data-original-source="/images/Tooling/1.png" data-selected-source="/images/Tooling/1c.png"> <img class="selectable" src="/images/Tooling/2.png" data-original-source="/images/Tooling/2.png" data-selected-source="/images/Tooling/2c.png"> 部署模式,在其中使用Mesos来确保驱动程序运行(并在发生故障时重新启动)。请参阅described in the cited document部分:

  

Spark on Mesos还支持群集模式,其中驱动程序在群集中启动,客户端可以从Mesos Web UI中找到驱动程序的结果。