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...