生活随笔
收集整理的這篇文章主要介紹了
spark的作业提交流程
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Spark的任務(wù)提交方式實際上有兩種,分別是YarnClient模式和YarnCluster模式。
YarnClient模式
在 YARN Clinet 模式下,Driver 在任務(wù)提交的本地機器上運行;Driver 啟動后會和 ResourceManager 通訊申請啟動 ApplicationMaster;隨后 ResourceManager 分配 container,在合適的 NodeManager 上 啟動 ApplicationMaster,此時的 ApplicationMaster 的功能相當(dāng)于一個 ExecutorLauncher,只負責(zé)向 ResourceManager 申請 Executor 內(nèi)存;ResourceManager 接到 ApplicationMaster 的資源申請后會分配 container,然后 ApplicationMaster 在資源分配指定的 NodeManager 上 啟動 Executor 進程;Executor 進程啟動后會向 Driver 反向注冊,Executor 全部注冊完成后 Driver 開始執(zhí)行 main函數(shù);之后執(zhí)行到 Action 算子時,觸發(fā)一個 job ,并根據(jù) 寬依賴 開始劃分 stage,每個stage生成對應(yīng)的 taskset,之后將 task 分發(fā)到各個 Executor 上執(zhí)行。
YarnCluster模式
在 YARN Cluster 模式下,任務(wù)提交后會和 ResourceManager 通訊申請啟動 ApplicationMaster;隨后 ResourceManager 分配 container,在合適的 NodeManager 上 啟動 ApplicationMaster,此時的 ApplicationMaster 就是 Driver;Driver 啟動后向 ResourceManager 申請 Executor 內(nèi)存,ResourceManager 接到 ApplicationMaster 的資源申請后會分配 container,然后在合適的 NodeManager 上 啟動 Executor 進程;Executor 進程啟動后會向 Driver 反向注冊,Executor 全部注冊完成后 Driver 開始執(zhí)行 main函數(shù);之后執(zhí)行到 Action 算子時,觸發(fā)一個 job ,并根據(jù) 寬依賴 開始劃分 stage,每個stage生成對應(yīng)的 taskset,之后將 task 分發(fā)到各個 Executor 上執(zhí)行。
總結(jié)
以上是生活随笔為你收集整理的spark的作业提交流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。