解釋了 Spark Client 和 Cluster 模式
讓我們試著看看 Spark 的客戶端和叢集模式之間的區別。
客戶端 :在客戶端模式下執行 Spark 時,SparkContext 和 Driver 程式在叢集外部執行; 例如,從你的膝上型電腦。本地模式僅適用於你不想使用群集而是希望在一臺計算機上執行所有內容的情況。因此,驅動程式應用程式和 Spark 應用程式與使用者位於同一臺計算機上。驅動程式在專用程序內的專用伺服器(主節點)上執行。這意味著它擁有可用於執行工作的所有可用資源。由於主節點具有自己的專用資源,因此你無需為驅動程式花費工作資源。如果驅動程式程序終止,則需要外部監視系統來重置它的執行。
叢集: 驅動程式在叢集的其中一個 Worker 節點上執行。它作為 Worker 內部的專用獨立程序執行。在群集模式下工作時,與應用程式執行相關的所有 JAR 都需要向所有工作人員公開使用。這意味著你可以手動將它們放在共享位置或每個工作人員的資料夾中。每個應用程式都有自己的執行程式程序,這些程序在整個應用程式的持續時間內保持不變並在多個執行緒中執行任務。這樣可以在排程方(每個驅動程式排程自己的任務)和執行方(在不同的 JVM 中執行的不同應用程式的任務)之間隔離應用程式。
群集管理器型別
Apache Mesos - 一個通用叢集管理器,也可以執行 Hadoop MapReduce 和服務應用程式。Hadoop YARN - Hadoop 中的資源管理器。
Kubernetes-以容器為中心的 infrastructure.it 尚未實驗。