Yarn資源排程

2021-10-04 07:34:02 字數 2419 閱讀 6807

yarn的介紹:

yarn是hadoop集群當中的資源管理系統模組,從hadoop2.0開始引入yarn模組,yarn可為各類計算框架提供資源的管理和排程,主要用於管理集群當中的資源(主要是伺服器的各種硬體資源,包括cpu,記憶體,磁碟,網路io等)以及排程執行在yarn上面的各種任務。

yarn核心出發點事為了分離資源管理與作業監控,實現分離的做法是擁有乙個全域性的資源管理(resourcemanager,rm) 以及每個

總結一句話就是說:yarn主要就是為了排程資源,管理任務

其排程分為兩個層級來說:

一級排程管理:

計算資源管理  (cpu,  記憶體,網路io,磁碟)

二級排程管理:

yarn的官網文件說明:

yarn集群的監控管理介面:

jobhistoryserver 檢視介面:

resourcemanager(rm)yarn我們都知道主要是用於做資源排程,任務分配等功能的,那麼在hadoop當中,究竟使用

什麼演算法來進行任務排程就需要我們關注了,hadoop支援好幾種任務的排程方式,不同的場

景需要使用不同的任務排程器.

第一種排程器:fifo scheduler 佇列排程

把任務按提交的順序排成乙個佇列,這是乙個先進先出佇列,在進行資源分配的時候,先給

佇列中最頭上的任務進行分配資源,待最頭上任務需求滿足後再給下乙個分配,以此類推。

fifo scheduler是最簡單也是最容易理解的排程器,也不需要任何配置,但它並不適用於共享

集群。大的任務可能會占用所有集群資源,這就導致其它任務被阻塞。

第二種排程器:capacity scheduler(容量排程器,apache版本預設使用的排程器)

capacity 排程器允許多個組織共享整個集群,每個組織可以獲得集群的一部分計算能力。通

過為每個組織分配專門的佇列,然後再為每個佇列分配一定的集群資源,這樣整個集群就可

以通過設定多個佇列的方式給多個組織提供服務了。除此之外,佇列內部又可以垂直劃分,

這樣乙個組織內部的多個成員就可以共享這個佇列資源了,在乙個佇列內部,資源的排程是

採用的是先進先出(fifo)策略。

第三種排程器:fair scheduler(公平排程器,cdh版本的hadoop預設使用的排程器)

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.nodemanager.resource.memory-mb 8192

定義交換區空間可以使用的大小

交換區空間就是講一塊硬碟拿出來做記憶體使用,這裡指定的是nodemanager的2.1倍

yarn.nodemanager.vmem-pmem-ratio 2.1

Yarn資源排程

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

yarn 資源排程

目錄關於yarn常用引數設定 yarn我們都知道主要是用於做資源排程,任務分配等功能的,那麼在hadoop當中,究竟使用什麼演算法來進行任務排程就需要我們關注了,hadoop支援好幾種任務的排程方式,不同的場景需要使用不同的任務排程器.把任務按提交的順序排成乙個佇列,這是乙個先進先出佇列,在進行資源...

Yarn 資源排程策略

在yarn中有三種排程器可以選擇 fifo scheduler capacity scheduler,fair scheduler。配置方法 fifo scheduler把應用按提交的順序排成乙個佇列,這是乙個先進先出佇列,在進行資源分配的時候,先給佇列中最頭上的應用進行分配資源,待最頭上的應用需求...