Spark Application運行流程

1.客戶端啓動,初始化相關的環境變量,包括application代碼的提交
2.反射調用org.apache.spark.deploy.yarn.Client,創建AriverActor(其他方式提交,Driver可能運行在Worker節點中)
3.向Master註冊Driver
4.Driver初始化SparkContext、DAGScheduler、TaskScheduler等
5.DAGScheduler向Master註冊Application,Master接收請求後,根據資源向Worker發送指令啓動ExecutorExecutor啓動後向Driver註冊
6.DAG進行Job的Stage劃分
7.DAGScheduler提交作業給TaskScheduler
8.TaskScheduler向註冊來的Executor發送LaunchTask命令進行任務的運行
9.Executor端進行Task相關信息的反序列化,相關jar和配置文件的下載,並運行
10.如果運行的ShuffleMapTask,將結果保存到本地文件中,彙報給Driver等待ResultTask或者其他ShuffleMapTask獲取
11.ResultTask根據Driver中提供的信息進行結果的獲取和Reduce,最後結果彙報給Driver
12.運行結束

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章