Spark 核心概念

Master

Spark 特有資源調度系統的 Leader。掌管著整個集群的資源信息,類似于 Yarn 框架中的 ResourceManager,主要功能:

1. 監聽Worker,看 Worker 是否正常工作;

2. Master對Worker、Application等的管理(接受Worker的注冊并管所有的Worker,接受Client提交的Application,調度等待的Application并向Worker提交)

Worker

Spark 特有資源調度系統的 Slave,有多個。每個 Slave 掌管著所在節點的資源信息,類似于 Yarn 框架中的 NodeManager,主要功能:

1. 通過Register注冊到Master

2. 定時發心跳給Master

3.?根據Master 發送的 Application 配置進程環境,并啟動 ExecutorBackend(執行 Task 所需的臨時進程)

driver program(驅動程序)

每個Spark 應用程序都包含一個驅動程序, 驅動程序負責把并行操作發布到集群上.

驅動程序包含Spark 應用程序中的主函數, 定義了分布式數據集以應用在集群中.

在前面的wordcount案例集中, spark-shell 就是我們的驅動程序, 所以我們可以在其中鍵入我們任何想要的操作, 然后由他負責發布.

驅動程序通過SparkContext對象來訪問Spark,SparkContext對象相當于一個到Spark 集群的連接.

在spark-shell 中, 會自動創建一個SparkContext對象, 并把這個對象命名為sc.

executor(執行器)

SparkContext對象一旦成功連接到集群管理器, 就可以獲取到集群中每個節點上的執行器(executor).

執行器是一個進程(進程名: ExecutorBackend, 運行在 Worker節點上), 用來執行計算和為應用程序存儲數據.

然后, Spark 會發送應用程序代碼(比如:jar包)到每個執行器. 最后,SparkContext對象發送任務到執行器開始執行程序.

RDDs(Resilient Distributed Dataset)彈性分布式數據集

一旦擁有了SparkContext對象, 就可以使用它來創建 RDD 了. 在前面的文章中, 我們調用sc.textFile(...)來創建了一個RDD, 表示文件中的每一行文本. 我們可以對這些文本行運行各種各樣的操作.

cluster managers(集群管理器)

為了在一個Spark 集群上運行計算,SparkContext對象可以連接到幾種集群管理器(Spark’s own standalone cluster manager, Mesos or YARN).

集群管理器負責跨應用程序分配資源.

業術語列表


?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容