1,通過spark-submit提交編寫好的spark程式,這時候spark會通過反射的方式,建立和構造乙個driveractor程序出來。
3,應用程式每執行到乙個action就會建立乙個job,job會提交給dagscheduler,dagscheduler會通過stage劃分演算法
5,master通知worker啟動executor,在executor程序的內部有乙個執行緒池。
6,executor啟動後,會自己反向註冊到taskscheuler上去。
7,taskscheuler上面有了executor的註冊資訊,taskscheuler會把taskset裡面的每乙個task提交到executor上去執行(task分配演算法)。
8,executor每接收到乙個task,都會呼叫taskrunner來封裝task,然後從執行緒池裡取出乙個執行緒,執行這個task。(task runner將要執行的運算元以及函式,拷貝,反序列化,然後執行task)(task有兩種,shufflemaptask和resulttask,只有最後乙個task是resulttask,之間的stage,都是shufflemaptask)。
Spark核心架構深度剖析
driver 就是我們用來提交編寫的spark程式的一台機器,在driver中最重要的一件事 建立sparkcontext sparkcontext 我們在建立sparkcontext的過程中,最重要的3件事,其一建立dagsechedule 有向無迴圈圖排程者 其二建立taskscheduler ...
Spark架構剖析
spark deploymet 部署 軟體中有哪些實體,實體間如何協調工作。cluster manager負責管理和分配集群資源 driver program相當於專案經理 executor 相當於軟體工程師 resource core memeory io 磁碟io 網路io coarse gra...
spark核心架構
driver部分的 sparkconf sparkcontext driver 部分 val conf new sparkconf val sc new sparkcontext conf end executor部分 分布到集群中的 比如 textfile flatman map worker 管...