Spark執行架構和機制

2021-10-08 19:01:42 字數 567 閱讀 8924

spark總體架構包括:

集群資源管理器(cluster manager)、多個執行作業任務的工作節點(worker node)、每個應用的任務控制節點(driver)和每個工作節點上負責具體任務的執行程序(executor)。

cluster manager負責申請和管理在worker node上執行應用所需的資源。

cluster manager為executor分配資源並啟動executor程序,executor運**況將隨著心跳傳送到cluster manager上。

sparkcontext構建dag圖,將dag圖分解成多個stage,並把每個stage的taskset(任務集)傳送給task scheduler(任務排程器)。executor向sparkcontext申請task,task scheduler將task發放給executor,同時,sparkcontext將應用程式**發放給executor。

task在executor上執行,把執行結果反饋給task scheduler,然後再反饋給dag scheduler。執行完畢後寫入資料,sparkcontext向cluster manager登出並釋放所有資源。

Spark執行架構

job 包含多個task組成的平行計算,乙個dag觸發的作業,由action運算元觸發,在sparkcontext中通過runjob方法向spark提交job stage job的排程單位,每個job會根據rdd的寬依賴關係被切分成很多stage,每個stage中包含一組相同的task,這組task...

Spark執行架構

在driver program中新建sparkcontext 包含sparkcontext的程式稱為driver program 2 sparkcontext向資源管理器申請執行executor資源,並啟動standaloneexecutorbackend,executor向sparkcontent...

Spark執行架構

spark執行架構要背下來 driver program 執行main函式的程序,並且建立了乙個sparkcontext cluster manager 乙個從cluster申請資源的外部服務 deploy mode 區分driver程序跑在 client模式下,driver跑在本地 cluster...