亞寵展、全球?qū)櫸锂a(chǎn)業(yè)風向標——亞洲寵物展覽會深度解析
749
2025-04-01
4.3? YARN中的調(diào)度
理想情況下,YARN應用發(fā)出的資源請求應該立刻給予滿足。然而現(xiàn)實中資源是有限的,在一個繁忙的集群上,一個應用經(jīng)常需要等待才能得到所需的資源。YARN調(diào)度器的工作就是根據(jù)既定策略為應用分配資源。調(diào)度通常是一個難題,并且沒有一個所謂“最好”的策略,這也是為什么YARN提供了多種調(diào)度器和可配置策略供我們選擇的原因。接下來我們將探討這個問題。
4.3.1? 調(diào)度選項
YARN中有三種調(diào)度器可用:FIFO調(diào)度器(FIFO Scheduler),容量調(diào)度器(Capacity Scheduler)和公平調(diào)度器(Fair Scheduler)。FIFO調(diào)度器將應用放置在一個隊列中,然后按照提交的順序(先進先出)運行應用。首先為隊列中第一個應用的請求分配資源,第一個應用的請求被滿足后再依次為隊列中下一個應用服務。
FIFO調(diào)度器的優(yōu)點是,簡單易懂,不需要任何配置,但是不適合共享集群。大的應用會占用集群中的所有資源,所以每個應用必須等待直到輪到自己運行。在一個共享集群中,更適合使用容量調(diào)度器或公平調(diào)度器。這兩種調(diào)度器都允許長時間運行的作業(yè)能及時完成,同時也允許正在進行較小臨時查詢的用戶能夠在合理時間內(nèi)得到返回結(jié)果。
圖4-3描述了調(diào)度器之間的差異性,由圖中可以看出,當使用FIFO調(diào)度器(i)時,小作業(yè)一直被阻塞,直至大作業(yè)完成。
使用容量調(diào)度器時(圖4-3中的ii),一個獨立的專門隊列保證小作業(yè)一提交就可以啟動,由于隊列容量是為那個隊列中的作業(yè)所保留的,因此這種策略是以整個集群的利用率為代價的。這意味著與使用FIFO調(diào)度器相比,大作業(yè)執(zhí)行的時間要長。
圖4-3. 用FIFO調(diào)度器(i)、容量調(diào)度器(ii)和公平調(diào)度器(iii)運行大小作業(yè)時集群的利用率
使用公平調(diào)度器時(圖4-3中的iii),不需要預留一定量的資源,因為調(diào)度器會在所有運行的作業(yè)之間動態(tài)平衡資源。第一個(大)作業(yè)啟動時,它也是唯一運行的作業(yè),因而獲得集群中所有的資源。當?shù)诙€(小)作業(yè)啟動時,它被分配到集群的一半資源,這樣每個作業(yè)都能公平共享資源。
注意,從第二個作業(yè)的啟動到獲得公平共享資源之間會有時間滯后,因為它必須等待第一個作業(yè)使用的容器用完并釋放出資源。當小作業(yè)結(jié)束且不再申請資源后,大作業(yè)將回去再次使用全部的集群資源。最終的效果是:既得到了較高的集群利用率,又能保證小作業(yè)能及時完成。
圖4-3對比了三種調(diào)度器的基本操作。在接下來的兩個小節(jié)中,我們將討論容量調(diào)度器和公平調(diào)度器的高級配置選項。
Yarn Hadoop 大數(shù)據(jù)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。