Master
Spark 特有資源調(diào)度系統(tǒng)的 Leader。掌管著整個集群的資源信息,類似于 Yarn 框架中的 ResourceManager,主要功能:
1. 監(jiān)聽Worker,看 Worker 是否正常工作;
2. Master對Worker、Application等的管理(接受Worker的注冊并管所有的Worker,接受Client提交的Application,調(diào)度等待的Application并向Worker提交)
Worker
Spark 特有資源調(diào)度系統(tǒng)的 Slave,有多個。每個 Slave 掌管著所在節(jié)點的資源信息,類似于 Yarn 框架中的 NodeManager,主要功能:
1. 通過Register注冊到Master
2. 定時發(fā)心跳給Master
3.?根據(jù)Master 發(fā)送的 Application 配置進程環(huán)境,并啟動 ExecutorBackend(執(zhí)行 Task 所需的臨時進程)
driver program(驅(qū)動程序)
每個Spark 應(yīng)用程序都包含一個驅(qū)動程序, 驅(qū)動程序負責(zé)把并行操作發(fā)布到集群上.
驅(qū)動程序包含Spark 應(yīng)用程序中的主函數(shù), 定義了分布式數(shù)據(jù)集以應(yīng)用在集群中.
在前面的wordcount案例集中, spark-shell 就是我們的驅(qū)動程序, 所以我們可以在其中鍵入我們?nèi)魏蜗胍牟僮? 然后由他負責(zé)發(fā)布.
驅(qū)動程序通過SparkContext對象來訪問Spark,SparkContext對象相當(dāng)于一個到Spark 集群的連接.
在spark-shell 中, 會自動創(chuàng)建一個SparkContext對象, 并把這個對象命名為sc.

executor(執(zhí)行器)
SparkContext對象一旦成功連接到集群管理器, 就可以獲取到集群中每個節(jié)點上的執(zhí)行器(executor).
執(zhí)行器是一個進程(進程名: ExecutorBackend, 運行在 Worker節(jié)點上), 用來執(zhí)行計算和為應(yīng)用程序存儲數(shù)據(jù).
然后, Spark 會發(fā)送應(yīng)用程序代碼(比如:jar包)到每個執(zhí)行器. 最后,SparkContext對象發(fā)送任務(wù)到執(zhí)行器開始執(zhí)行程序.
RDDs(Resilient Distributed Dataset)彈性分布式數(shù)據(jù)集
一旦擁有了SparkContext對象, 就可以使用它來創(chuàng)建 RDD 了. 在前面的文章中, 我們調(diào)用sc.textFile(...)來創(chuàng)建了一個RDD, 表示文件中的每一行文本. 我們可以對這些文本行運行各種各樣的操作.
cluster managers(集群管理器)
為了在一個Spark 集群上運行計算,SparkContext對象可以連接到幾種集群管理器(Spark’s own standalone cluster manager, Mesos or YARN).
集群管理器負責(zé)跨應(yīng)用程序分配資源.
業(yè)術(shù)語列表
