我在客户端模式下将Spark驱动程序提交给Mesos集群(具有高度可用的Mesos主服务器)(请参阅this client
部署模式)。
我也想在HA模式下运行Spark驱动程序。怎么样?
我可以为此实现我自己的实现,但现在寻找任何可用的东西。
答案 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中找到驱动程序的结果。