Apache Spark筆記04_Apache Spark 集群模式(Cluster Modes)
https://events.prace-ri.eu/event/896/sessions/2721/attachments/997/1666/Spark_Cluster.pdf Spark Cluster Manager 與集群通信以獲取運行應用程序所需的資源 作為應用程序外部的服務運行,並抽象化集群管理器類型。 當應用程序運行時,Spark Context 創建任務並通知集群管理器所需的資源。 Cluster Manager種類(Spark 內建支持幾種集群管理器): Spark Standalone 包含了一個獨立的集群管理器。它最適合設置一個簡單的集群。 Spark Standalone 隨 Spark 安裝一起打包,因此不需要額外的依賴來配置和部署。 Spark Standalone 專門設計用來運行 Spark,通常是快速搭建並運行應用程序的最快方式。 有兩個主要組件:Workers 和 Master。 工作節點上運行的是 Workers。它們啟動一個或多個保留核心的執行器進程。 必須有一個可在任何集群節點上運行的 Master 可用。 它將工作節點連接到集群並通過心跳輪詢跟踪它們。如果 Master 與 Worker 在一起,不要為 Worker 預留節點的所有核心和內存。 Apache Hadoop YARN,或稱作另一資源協商器,是來自 Hadoop 項目的集群管理器。 在大數據生態系統中很受歡迎,支持除 Spark 之外的許多其他框架。 YARN 集群有自己的依賴性、設置和配置要求。 因此部署它們比Spark Standalone 更複雜。 Apache Mesos 是一個通用的集群管理器,Spark 運行在其上可以獲得額外的好處。 可以在 Spark 和其他大數據框架之間提供動態分割,以及在多個 Spark 實例之間提供可擴展的分割。 然而,在 Apache Mesos 上運行 Spark 可能需要根據客製化配置要求,進行一些額外的設置。 Kubernetes 是一個用於運行容器化應用程序的開源系統。 Kubernetes 集群運行容器化應用程序。這使得 Spark 應用程序更具可移植性,並有助於自動化部署,簡化依賴性管理,並根據需要擴展集群。 本地模式在機器上本地作為單一進程運行 Spark 應用程序。 該進程調用‘spark-submit’...