Yarn資源排程器

2021-10-01 08:38:56 字數 1222 閱讀 1939

yarn是乙個資源排程平台,負責為運算程式提供伺服器運算資源,相當於乙個分布式的作業系統平台,而mapreduce等運算程式相當於作業系統之上的應用程式

resourcemanager 負責所有資源的監控、分配和管理。

nodemanager 負責每乙個節點的維護。

有了這個id,job就知道提交時所用的臨時檔案,提交到哪個路徑下,並在臨時申請的工作目錄裡面生成一些檔案(jar包,切片資訊,和配置檔案),提交這個job執行所需要的資源

通過申請之後,resourcemanager會將job包裝成乙個task,然後將此task放入排程佇列中,有自己的排程規則

當輪到此task執行任務時,resourcemanager會尋找乙個nodemanager負責接收這個task

排程完成後,會以相同方式啟動響應數量的container,來準備執行對應maptask

每個reducetask接收maptask的結果資料,對資料進行處理,處理完成後,生成最終結果資料

目前,hadoop資源排程器主要由三種:fifo,capacity scheduler和fair scheduler,預設的資源排程器時capacity scheduler

先進先出排程器,在進行資源分配的時候,先給佇列中最開始的應用進行分配資源,待最開始的應用需求滿足後再給下乙個分配,以此類推。但是大的應用可能會占用所有集群資源,這就導致其它應用被阻塞。

支援多個佇列,每個佇列可以配置一定的資源量,每個佇列採用fifo排程策略。

為了防止同乙個任務作業獨佔列隊中的資源,該排程器會對同一任務提交所佔資源量進行限定

公平排程是一種對於全域性資源,對於所有應用作業來說,都均勻分配的資源分配方法。yarn有能力排程多種資源型別。預設情況,公平排程器fairscheduler基於記憶體來安排公平排程策略。也可以配置為同時基於記憶體和cpu來進行排程,這樣情況下需要使用由ghodsi開發的dominant resource fairness進行。當只有乙個單一應用作業執行時,這個應用可以獨佔整個集群。當其他應用作業提交到集群時,空出來的資源將分配給新的應用,最終所有的應用作業會平分集群資源。不像hadoop的預設排程器,它只將任務構造乙個應用佇列,公平排程器會在不餓死長週期作業的同時,優先讓短週期作業先執行完成。在一組使用者中共享集群也是合理的。最終,公平排程策略可以和應用優先順序結合起來工作,優先順序是一組權重值,資源會按照這個權重比例來分配給每個應用。

Yarn 資源排程器

資源排程器是什麼?yarn中負責集群資源分配的是scheduler。分成三種型別 fifo scheduler,capacity scheduler,fair scheduler。fifo scheduler 先進先出佇列,任務先提交就會被先執行,優先滿足最先被提交的任務,之後若有空餘資源再分配給後...

Yarn資源排程器

yarn是乙個資源排程平台,負責為運算程式提供伺服器運算資源,相當於分布式的作業系統平台。yarn基本架構 resourcemanager的作用 nodemanager的作用 工作機制 使用者使用客戶端向 resourcemanager 提交乙個任務,同時指定提交到哪個佇列和需要多少資源。使用者可以...

Yarn資源排程

由於yarn良好的相容性和擴充套件性,目前可以支援大部分資料引擎,所以了解yarn的資源排程原理很有必要,yarn主要由四個重要角色組成 yarn排程主要分為8個步驟如上圖所示 1.有yarnclient提交program資訊打拼resourcemanager,包括 應用 和應用需要的一切引數和環境...