您好,登錄后才能下訂單哦!
本篇內容介紹了“Spark中Worker和Master的作用是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Worker和Master是Spark獨立集群里用到的類。如果是yarn環境部署,是不需要這兩個類的。
Master是Spark獨立集群的控制者,Worker是工作者,一個Spark獨立集群需要啟動一個Master和多個Worker。Spark提供了Master選舉功能,保障Master掛掉的時候能選出另一個Master,做一個切換的動作,這塊原理和ZooKeeper類似,這里知道概念就可以了。
Master的功能一是管理Worker的注冊和注銷、狀態變更等,維護集群的元數據;而是管理Driver的提交運行。
當spark程序運行driver時,會通過StandaloneScheduleBackend來調度分區任務的執行,這時候在StandaloneScheduleBackend里面會有一個StandaloneAppClient負責與Master通信,發送RegisterApplication消息給Master,Master將等待運行的app信息記錄下來,等待schedule方法的調度,RegisterApplication里包含了要執行的Driver的信息(Driver就是我們的spark程序的main方法要做的事)。
Master在進度調度(schedule方法)的時候,然后選擇一個Worker作為Driver的執行者,這時會發送LaunchDriver消息給Worker,Worker收到后在本地啟動Driver。
Master和Worker是機器層面的概念,和Executor、Driver是兩碼事,這點要注意的。ScheduleBackend是處理Driver和Executor之間的消息通信的。
CoarseGrainedSchedulerBackend是Driver的SchedulerBackend,是公共部分。獨立集群的StandaloneSchedulerBackend其實就是繼承了CoarseGrainedSchedulerBackend,共用了與Executor交互的公共代碼,比如LaunchTask消息的處理等。
在Executor上運行的是CoarseGrainedExecutorBackend,CoarseGrainedExecutorBackend負責接收Driver發送的消息,回復Driver等。
CoarseGrainedSchedulerBackend發送LaunchTask消息給Executor的CoarseGrainedExecutorBackend,CoarseGrainedExecutorBackend收到LaunchTask后調用Executor的launchTask方法來執行Task。
“Spark中Worker和Master的作用是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。