有多種方式的提交,如Repl提交,rest的提交,本地提交等。spa
submit過程,在master節點提交jar包,在分配task的時候將jar包和參數裏的依賴包路徑等在子節點下載,最後執行task。rest
master在調度到LaunchDriver事件時才真正開始執行jar包的main方法,執行spark程序。事件
main-> LauchDriver-> rdd.compute()方法->dagSchedule.submitJob—> JobSubmmitted事件 –> finalStage –> submitStage –> submitMissingStage –> ......it
例如StandaloneRestServerspark
handleSubmit方法,發送DeployMessages.RequestSubmitDriver消息給masterast
示例代碼見spark-launch和spark-core的相關代碼。在deploy和launch兩個目錄中。下載