Spark運行原理(大白話筆記)

spark運行原理講解的是spark在運行期間集羣中的節點是怎麼接收任務和處理任務的
Spark運行原理(大白話筆記)
具體的步驟如下:
1、在客戶端通過命令提交一個job任務的時候,Driver就會啓動相關的節點進行工作
2、客戶端的driver會向master註冊資源。

在這兩步中,driver的角色實際上就是通知集羣有任務了,開始幹活,而具體啓動任務的是master,master的角色就是分配做任務的資源,並且監控資源的使用情況,這就好比干個工程,master就是負責調度車輛,分配沙子水泥的用料和用量的,實際上就是調度工種的工作
3、master會讓worker啓動executor進行進行工作,worker實際上是不工作的,他就相當於一個公司,聽從master的用料和用量來啓動executor,真正幹活的是executor
幹活的進程是execitorBackend這個進,所以在我們提交任務後,會在worker節點上看到這個進程名字,他就是具體的工作進程,
4、ExecutorBackend會向driver註冊,這一步的意義就是讓driver知道是誰幹活,diver知道了以後,就會找個調度經理SchedulerBackend來給ExecutorBackend分活幹,這時候還會涉及一個DAGScheduler,他是把任務具體細分的一個功能,就是任務細分員,把任務劃分成多個階段(stage),然後以task的方式下發給ExecutorBackend
Driver相當於項目經理,DAGScheduler相當於項目小組長,driver接活,讓DAGScheduler劃分任務,然後給大哥,這時候還會涉及一個DAGScheduler,他是把任務具體細分的一個功能,就是任務細分員,把任務劃分成多個階段(stage),然後以task的方式下發給ExecutorBackend分活幹,那麼在這個過程中,driver這個項目經理就是個動嘴的,master和worker是監控資源的,看看哪輛車不好用了給你換一輛,那個工人不幹活了給你換一個,真正幹活的就是SchedulerBackend(調度員),DAGScheduler(項目組長),ExecutorBackend(工人)
其實整個spark的調度和平時的工地施工、項目開發流程都是類似的,說白了就是有人監工、有人劃分任務、有人分配任務、有人幹活
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章