Spark 运算符与 Spark 提交 - 如何选择使用哪一个?

Kev*_* Su 5 apache-spark kubernetes

在 Kubernetes 上运行 Spark 应用程序有两种方法。

  1. 将spark-submit 与k8s://主URL 结合使用。
  2. 使用Spark-on-k8s-operator。借助 Spark Operator 中 CRD 的优势,我们可以使用配置文件 (YAML) 对 Spark pod 进行声明式管理。

在 Kubernetes 上运行 1000 多个 Spark 工作负载的生产环境中,我该如何选择?

使用火花操作员有什么优点和缺点?

Chr*_*tta 4

优点spark-on-k8s-operator

  • 创建 Spark Operator 的 k8s 部署将生成SparkApplication类型的 pod,并生成驱动程序和执行程序 pod。
  • 包括 Prometheus 指标导出器
  • 将应用程序开发和管理简化为 YAML 文件 * 可以使用ScheduledSparkApplication

的缺点spark-submit

  • 创建裸荚,更多这里
  • 配置能够分散在: spark-submitSessionBuilderScala 或 python 代码以及 k8s 中。
  • 需要额外的调度程序

TL;DR - 使用spark-on-k8s-operator