我有一个 Spark Streaming 作业,目前在 Kubernetes 中以集群模式运行。驱动程序和执行程序运行良好,我对它们没有任何问题。
但是,在考虑故障时,如何才能确保 driver pod 免受任何 k8s 级别节点重新启动的影响。
例如:在运行 pod 的底层工作节点重新启动或驱动程序由于某种原因死亡的情况下,我们如何从中恢复?
我正在寻找的行为类似于 K8S 中的部署,其中 kubernetes 始终遵循最小副本数。
但是在查看 k8s 文档上的 Spark 时,没有提及与此相关的任何内容
简而言之:如果我的 driver pod 由于某些问题而死机,我们如何告诉 kubernetes 自动将其恢复。
您可以使用 Spark Operator 将作业作为 SparkApplication 运行并指定 restartPolicy。