Spark 架构图
2019獨角獸企業重金招聘Python工程師標準>>>
1.Driver Program
用戶編寫的Spark程序稱為Driver Program。每個Driver程序包含一個代表集群環境的SparkContext對象,程序的執行從Driver程序開始,所有操作執行結束后回到Driver程序中,在Driver程序中結束。如果你是用spark shell,那么當你啟動 Spark shell的時候,系統后臺自啟了一個 Spark 驅動器程序,就是在Spark shell 中預加載的一個叫作 sc 的 SparkContext 對象。如果驅動器程序終止,那么Spark 應用也就結束了。
2.?SparkContext對象
每個Driver Program里都有一個SparkContext對象,職責如下:
1)SparkContext對象聯系 cluster?manager(集群管理器),讓 cluster?manager 為Worker Node分配CPU、內存等資源。此外, cluster?manager會在 Worker?Node 上啟動一個執行器(專屬于本驅動程序)。
2)和Executor進程交互,負責Task(任務)的調度分配。
3.?cluster?manager 集群管理器(Master)
它對應的是Master進程。集群管理器負責集群的資源調度,比如為Worker Node分配CPU、內存等資源。并實時監控Worker的資源使用情況。一個Worker Node默認情況下分配一個Executor(進程)。?
從圖中可以看到sc和Executor之間畫了一根線條,這表明:程序運行時,sc是直接與Executor進行交互的。
所以,cluster?manager 只是負責資源的管理調度,而任務的分配和結果處理它不管。
4.Worker Node
Worker節點。集群上的計算節點,對應一臺物理機器
5.Worker進程
它對應Worder進程,用于和Master進程交互,向Master注冊和匯報自身節點的資源使用情況,并管理和啟動Executor進程
6.Executor
負責運行Task計算任務,并將計算結果回傳到Driver中。
7.Task
在執行器上執行的最小單元。比如RDD?Transformation操作時對RDD內每個分區的計算都會對應一個Task。
轉載于:https://my.oschina.net/u/3701483/blog/3011161
總結
- 上一篇: LeetCode18.四数之和 Java
- 下一篇: js编程