建立sparkcontext物件,其中包含dagscheduler和taskscheduler
executor內部會建立執行task的執行緒池,然後把啟動的executor反向註冊給driver
dagscheduler負責把spark作業轉化成stage的dag,根據寬窄依賴切分stage,然後把stage封裝成taskset的形式傳送給taskscheduler,同時dagscheduler還會處理由於shuffle資料丟失導致的失敗
taskscheduler維護所有的taskset,分發task給各個節點的executor,監控task的執行狀態,負責重試失敗的task
tak執行完成後,sparkcontext向master登出,釋放資源
am啟動後會找rm申請container,啟動executor,am連線其他的nm,用container的資源來啟動executor,executor會反向註冊到本地的driver上
driver傳送task給executor,計算完成後,driver**executor的結果
由client向rm提交請求,並向hdfs上傳jar包
scheduler向amst返回空閒的container資訊
rm根據返回的資訊向nm申請資源
sam啟動後,和rm通訊,請求根據任務資訊向rm申請container來啟動executor
rm將申請到的資源資訊返回給sam
sam根據返回的資源資訊去請求對應的nm分配container來啟動executor
nm收到請求會啟動相應的container來啟動executor
executor啟動成功後向sam反向註冊
executor和sam完成互動
後續的dagscheduler,taskscheduler,shuffle等操作和standalone模式一樣
等到所有的任務執行完後,sam向rm取消註冊釋放資源
Spark任務提交流程
spark任務提交流程挺複雜的,下面給乙個相對簡單的任務提交流程 driver程序啟動以後,首先構建sparkcontext,sparkcontext主要包含兩部分 dagscheduler和taskscheduler master接受到任務註冊資訊之後,根據自身資源呼叫演算法在spark集群的wo...
Spark任務提交流程
spark的任務執行流程沒有hadoop那麼繞,它的流程其實就是當你執行submit的的時候driver會和master進行互動,因為對於spark來說master是掌控集群資源的元件,和hadoop的yarn是一樣的作用,master會通知有資源的伺服器節點,去主動的和driver互動,這一步也叫...
Spark的作業提交流程簡介
這是自己讀取原始碼並結合他人的總結,寫的大概的流程,僅供參考 處理使用者的 jar 或者資源檔案,和日誌處理相關 iseventlogenabled eventlogdir eventlogcodec的初始化 初始化非同步監聽 bus livelistenerbus,監聽 spark 事件,用於 s...