分布式資源調(diào)度框架Yarn如何理解

分布式資源調(diào)度框架Yarn如何理解,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

成都網(wǎng)站建設、網(wǎng)站設計的開發(fā),更需要了解用戶,從用戶角度來建設網(wǎng)站,獲得較好的用戶體驗。創(chuàng)新互聯(lián)公司多年互聯(lián)網(wǎng)經(jīng)驗,見的多,溝通容易、能幫助客戶提出的運營建議。作為成都一家網(wǎng)絡公司,打造的就是網(wǎng)站建設產(chǎn)品直銷的概念。選擇創(chuàng)新互聯(lián)公司,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價值服務。

Yarn作為一個資源管理、任務調(diào)度的框架,其重要性不言而喻。尤其是在近些年的大數(shù)據(jù)面試中,更是面試題的重點知識之一。為了大家在面試的時候,能夠準備的更加充分,小編整理了一份有關分布式資源調(diào)度框架Yarn的大數(shù)據(jù)面試題,內(nèi)容包括Yarn的架構、工作流程、調(diào)度器Scheduler。

分布式資源調(diào)度框架Yarn如何理解

1、Yarn的架構

Yarn是一個資源管理、任務調(diào)度的框架, 主要包含三大模塊:ResourceManager(RM)、NodeManager(NM)、

ApplicationMaster(AM)。

(1)ResourceManager 負責所有資源的監(jiān)控、分配和管理;

(2)ApplicationMaster 負責每一個具體應用程序的調(diào)度和協(xié)調(diào);

(3)NodeManager 負責每一個節(jié)點的維護。對于所有的 applications,RM 擁有絕對的控制權和對資源的分配權。而每個 AM 則會和 RM 協(xié)商資源,同時和NodeManager 通信來執(zhí)行和監(jiān)控 task。

2、Yarn的工作流程

(1)client 向 RM 提交應用程序,其中包括啟動該應用的 ApplicationMaster 的必須信息,例如 ApplicationMaster 程序、啟動 ApplicationMaster 的命令、用戶程序等。

(2)ResourceManager 啟動一個 container 用于運行 ApplicationMaster。啟動中的 ApplicationMaster 向 ResourceManager 注冊自己,啟動成功后與 RM 保持心跳。

(3)ApplicationMaster 向 ResourceManager 發(fā)送請求, 申請相應數(shù)目的container。

(4)ResourceManager 返回 ApplicationMaster 的申請的 containers 信息。申請成功的container,由 ApplicationMaster 進行初始化。container 的啟動信息初始化后,AM與對應的 NodeManager 通信,要求 NM 啟動 container。AM 與 NM 保持心跳,從而對 NM 上運行的任務進行監(jiān)控和管理。

(5)container 運行期間,ApplicationMaster 對 container 進行監(jiān)控。container 通過 RPC協(xié)議向?qū)?AM 匯報自己的進度和狀態(tài)等信息。

(6)應用運行期間,client 直接與 AM 通信獲取應用的狀態(tài)、進度更新等信息。

(7)應用運行結束后,ApplicationMaster 向 ResourceManager 注銷自己,并允許屬于它的 container 被收回。

3、Yarn的調(diào)度器Scheduler。

Yarn 中,負責給應用分配資源的就是 Scheduler,三種調(diào)度器可以選擇: FIFO Scheduler ,Capacity Scheduler,F(xiàn)airScheduler 。

(1)FIFO Scheduler

FIFO Scheduler 把應用按提交的順序排成一個隊列,這是一個 先進先出隊列, 在進行資源分配的時候,先給隊列中最頭上的應用進行分配資源,待最頭上的應用需求滿足后再給下一個分配,以此類推。

(2)Capacity Scheduler

Capacity 調(diào)度器允許多個組織共享整個集群,每個組織可以獲得集群的一部分計算能力。通過為每個組織分配專門的隊列,然后再為每個隊列分配一定的集群資源,這樣整個集群就可以通過設置多個隊列的方式給多個組織提供服務了。除此之外,隊列內(nèi)部又可以垂直劃分,這樣一個組織內(nèi)部的多個成員就可以共享這個隊列資源了,在一個隊列內(nèi)部,資源的調(diào)度是采用的是先進先出(FIFO)策略。

(3)Fair Scheduler

在 Fair 調(diào)度器中,我們不需要預先占用一定的系統(tǒng)資源,F(xiàn)air 調(diào)度器會為所有運行的 job 動態(tài)的調(diào)整系統(tǒng)資源。如下圖所示,當?shù)谝粋€大 job 提交時, 只有這一個 job 在運行,此時它獲得了所有集群資源;當?shù)诙€小任務提交后,F(xiàn)air 調(diào)度器會分配一半資源給這個小任務,讓這兩個任務公平的共享集群資源。

關于分布式資源調(diào)度框架Yarn如何理解問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。

新聞標題:分布式資源調(diào)度框架Yarn如何理解
地址分享:http://bm7419.com/article28/jdiijp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司企業(yè)建站、移動網(wǎng)站建設、微信小程序網(wǎng)站營銷、自適應網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設