【问题标题】:How to run Spark driver in HA mode?如何在 HA 模式下运行 Spark 驱动程序?
【发布时间】:2017-05-15 09:09:59
【问题描述】:

我有一个 Spark 驱动程序以客户端模式提交到 Mesos 集群(具有高可用性 Mesos 主节点)(请参阅 this 了解 client 部署模式)。

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

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

【问题讨论】:

    标签: apache-spark spark-streaming mesos


    【解决方案1】:

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

    client 模式下拥有 Spark 驱动程序的 HA 是不可能的,因为 described in the cited document

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

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

    一个更安全的解决方案是让 Mesos 完成它的工作。您应该使用 cluster 部署模式,它是 Mesos 以确保驱动程序运行(并在出现故障时重新启动)。见Cluster mode部分:

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

    【讨论】:

    • 嗨 Jacek,您能帮我理解集群模式下的这一行吗 - 请注意,MesosClusterDispatcher 尚不支持 HA 的多个实例。
    • “MesosClusterDispatcher 尚不支持 HA 的多个实例。” 我不需要。 Spark 驱动程序是您的 Spark 应用程序的编排器,这就是您的代码成为任务的地方。因此,我们假设 Spark 驱动程序只有一个实例,并且只有当它失败时才会重新提交。一次只有一个实例。
    猜你喜欢
    • 2017-11-23
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多