YARN的排程器

2021-09-01 06:36:11 字數 1848 閱讀 7277

yarn主要就是為了排程資源,管理任務等。

resourcemanager:yarn上主節點,接收客戶端提交的任務,對資源進行分配

nodemanager:yarn上從節點,主要進行任務計算

jobhistoryserver:檢視已經完成的任務歷史日誌記錄的服務

timelineserver:hadoop2.4後新特性,監控yarn上正在執行的所有任務

使用哪種排程器取決於yarn-site.xml當中的

yarn.resourcemanager.scheduler.class  這個屬性的配置

1)佇列排程器(fifo scheduler)按照應用提交順序,排成佇列,乙個乙個進行資源分配,當第乙個資源滿足後進行下乙個資源分配。

2)容量排程器(capacity  scheduler)apache預設使用

capacity 排程器允許多個組織共享整個集群,每個組織可以獲得集群的一部分計算能力。通過為每個組織分配專門的佇列,然後再為每個佇列分配一定的集群資源,這樣整個集群就可以通過設定多個佇列的方式給多個組織提供服務了。除此之外,佇列內部又可以垂直劃分,這樣乙個組織內部的多個成員就可以共享這個佇列資源了,在乙個佇列內部,資源的排程是採用的是先進先出(fifo)策略。

3)公平排程器(fair scheduler)cdh預設使用

fair排程器的設計目標是為所有的應用分配公平的資源(對公平的定義可以通過引數來設定)。公平排程在也可以在多個佇列間工作。舉個例子,假設有兩個使用者a和b,他們分別擁有乙個佇列。當a啟動乙個job而b沒有任務時,a會獲得全部集群資源;當b啟動乙個job後,a的job會繼續執行,不過一會兒之後兩個任務會各自獲得一半的集群資源。如果此時b再啟動第二個job並且其它job還在執行,則它將會和b的第乙個job共享b這個佇列的資源,也就是b的兩個job會用於四分之一的集群資源,而a的job仍然用於集群一半的資源,結果就是資源最終在兩個使用者之間平等的共享

第乙個引數:container分配最小記憶體

yarn.scheduler.minimum-allocation-mb   1024   給應用程式container分配的最小記憶體

第二個引數:container分配最大記憶體

yarn.scheduler.maximum-allocation-mb   8192 給應用程式container分配的最大記憶體

第三個引數:每個container的最小虛擬核心個數

yarn.scheduler.minimum-allocation-vcores   1   每個container預設給分配的最小的虛擬核心個數

第四個引數:每個container的最大虛擬核心個數

yarn.scheduler.maximum-allocation-vcores   32  每個container可以分配的最大的虛擬核心的個數

第五個引數:nodemanager可以分配的記憶體大小

yarn.nodemanager.resource.memory-mb   8192  nodemanager可以分配的最大記憶體大小,預設8192mb

Yarn 資源排程器

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

Yarn資源排程器

yarn是乙個資源排程平台,負責為運算程式提供伺服器運算資源,相當於乙個分布式的作業系統平台,而mapreduce等運算程式相當於作業系統之上的應用程式 resourcemanager 負責所有資源的監控 分配和管理。nodemanager 負責每乙個節點的維護。有了這個id,job就知道提交時所用...

YARN排程器詳解

一.先介紹下yarn有哪些排程器 fifo 先進先出 capacity 計算 fair 公平 二.這些排程器有什麼差異 fifo 意思就是誰的job先執行就會占用當前的所有資源,直到這個job執行結束之後才會執行下乙個job,再生產上面不推薦,因為如果我凌晨一點執行了乙個大型的job需要跑四個小時才...