一、Spark on K8s 簡介
(一)定義與架構
Spark on K8s 是一種將 Spark 運行在 Kubernetes(K8s)集群上的架構,由 K8s 直接創建 Driver 和 Executor 的 Pod 來運行 Spark 作業。其架構如下。
-
Driver Pod:相當于 Spark 集群中的 Driver,負責作業的調度和管理,它會根據作業的邏輯,將任務分配給 Executor Pod。
-
Executor Pod:相當于 Spark 集群中的 Executor,負責具體的任務執行,包括數據的讀取、計算和寫入等操作。
-
K8s API Server:負責接收和處理 Spark 提交的作業請求,創建和管理 Driver Pod 和 Executor Pod。
-
K8s Scheduler:根據集群的資源狀況,為 Driver Pod 和 Executor Pod 分配合適的節點進行運行。
-
K8s Node:集群中的工作節點,負責運行 Driver Pod 和 Executor Pod。