Spark 与 Kubernetes
Spark 原生支持 standalone、mesos 和 YARN 的调度方式,当前 kubernetes 社 区正在支持 kubernetes 的原生调度来运行 spark。当然您也可以在 Kubernetes 直接部署 spark on YARN 或者 spark standalone 模式。
使用 spark standalone 模式在 Kubernetes 上运行,kubernetes 不负责 spark 任务的调度。这种模式中使用的 spark 本身负责任务调度,kubernetes 只是作为一个 spark 的部署平台。
使用 StatefulSet 和 Headless serverless 来实现。这种模式中 kubernetes 依然不负责 spark 应用的调度,而只是将 Yarn 换了一个部署环境而已。
下面是架构图:

Spark on yarn with kubernetes
下图显示的是三种调度方式中单个 kubernetes node 节点上运行的 spark 相关容器的调度情况。

在 kubernetes 上使用多种调度方 式
毫无疑问,使用 kubernetes 原生调度的 spark 任务才是最节省资源的。
最近更新 1yr ago