成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hadoop YARN中內存和CPU兩種資源的調度和隔離

開發 前端 Hadoop
Hadoop YARN同時支持內存和CPU兩種資源的調度(默認只支持內存,如果想進一步調度CPU,需要自己進行一些配置),本文將介紹YARN是如何對這些資源進行調度和隔離的。

Hadoop  YARN同時支持內存和CPU兩種資源的調度(默認只支持內存,如果想進一步調度CPU,需要自己進行一些配置),本文將介紹YARN是如何對這些資源進行調度和隔離的。

在YARN中,資源管理由ResourceManager和NodeManager共同完成,其中,ResourceManager中的調度器負責 資源的分配,而NodeManager則負責資源的供給和隔離。ResourceManager將某個NodeManager上資源分配給任務(這就是所 謂的“資源調度”)后,NodeManager需按照要求為任務提供相應的資源,甚至保證這些資源應具有獨占性,為任務運行提供基礎的保證,這就是所謂的 資源隔離。

關于Hadoop YARN資源調度器的詳細介紹,可參考我的這篇文章:YARN/MRv2 Resource Manager深入剖析—資源調度器

在正式介紹具體的資源調度和隔離之前,先品味一下內存和CPU這兩種資源的特點,這是兩種性質不同的資源。內存資源的多少會會決定任務的生死,如果內存不夠,任務可能會運行失敗;相比之下,CPU資源則不同,它只會決定任務運行的快慢,不會對生死產生影響。

【YARN中內存資源的調度和隔離】

基于以上考慮,YARN允許用戶配置每個節點上可用的物理內存資源,注意,這里是“可用的”,因為一個節點上的內存會被若干個服務共享,比如一部分給YARN,一部分給HDFS,一部分給HBase等,YARN配置的只是自己可以使用的,配置參數如下:

(1)yarn.nodemanager.resource.memory-mb

表示該節點上YARN可使用的物理內存總量,默認是8192(MB),注意,如果你的節點內存資源不夠8GB,則需要調減小這個值,而YARN不會智能的探測節點的物理內存總量。

(2)yarn.nodemanager.vmem-pmem-ratio

任務每使用1MB物理內存,最多可使用虛擬內存量,默認是2.1。

(3) yarn.nodemanager.pmem-check-enabled

是否啟動一個線程檢查每個任務正使用的物理內存量,如果任務超出分配值,則直接將其殺掉,默認是true。

(4) yarn.nodemanager.vmem-check-enabled

是否啟動一個線程檢查每個任務正使用的虛擬內存量,如果任務超出分配值,則直接將其殺掉,默認是true。

(5)yarn.scheduler.minimum-allocation-mb

單個任務可申請的最少物理內存量,默認是1024(MB),如果一個任務申請的物理內存量少于該值,則該對應的值改為這個數。

(6)yarn.scheduler.maximum-allocation-mb

單個任務可申請的最多物理內存量,默認是8192(MB)。

默認情況下,YARN采用了線程監控的方法判斷任務是否超量使用內存,一旦發現超量,則直接將其殺死。由于Cgroups對內存的控制缺乏靈活性 (即任務任何時刻不能超過內存上限,如果超過,則直接將其殺死或者報OOM),而Java進程在創建瞬間內存將翻倍,之后驟降到正常值,這種情況下,采用 線程監控的方式更加靈活(當發現進程樹內存瞬間翻倍超過設定值時,可認為是正常現象,不會將任務殺死),因此YARN未提供Cgroups內存隔離機制。

【YARN中CPU資源的調度和隔離】

在YARN中,CPU資源的組織方式仍在探索中,目前(2.2.0版本)只是一個初步的,非常粗粒度的實現方式,更細粒度的CPU劃分方式已經提出來了,正在完善和實現中。

目前的CPU被劃分成虛擬CPU(CPU virtual Core),這里的虛擬CPU是YARN自己引入的概念,初衷是,考慮到不同節點的CPU性能可能不同,每個CPU具有的計算能力也是不一樣的,比如某個 物理CPU的計算能力可能是另外一個物理CPU的2倍,這時候,你可以通過為***個物理CPU多配置幾個虛擬CPU彌補這種差異。用戶提交作業時,可以指 定每個任務需要的虛擬CPU個數。在YARN中,CPU相關配置參數如下:

(1)yarn.nodemanager.resource.cpu-vcores

表示該節點上YARN可使用的虛擬CPU個數,默認是8,注意,目前推薦將該值設值為與物理CPU核數數目相同。如果你的節點CPU核數不夠8個,則需要調減小這個值,而YARN不會智能的探測節點的物理CPU總數。

(2) yarn.scheduler.minimum-allocation-vcores

單個任務可申請的最小虛擬CPU個數,默認是1,如果一個任務申請的CPU個數少于該數,則該對應的值改為這個數。

(3)yarn.scheduler.maximum-allocation-vcores

單個任務可申請的最多虛擬CPU個數,默認是32。

默認情況下,YARN是不會對CPU資源進行調度的,你需要配置相應的資源調度器讓你支持,具體可參考我的這兩篇文章:

(1)Hadoop YARN配置參數剖析(4)—Fair Scheduler相關參數

(2)Hadoop YARN配置參數剖析(5)—Capacity Scheduler相關參數

默認情況下,NodeManager不會對CPU資源進行任何隔離,你可以通過啟用Cgroups讓你支持CPU隔離。

由于CPU資源的獨特性,目前這種CPU分配方式仍然是粗粒度的。舉個例子,很多任務可能是IO密集型的,消耗的CPU資源非常少,如果此時你為它 分配一個CPU,則是一種嚴重浪費,你完全可以讓他與其他幾個任務公用一個CPU,也就是說,我們需要支持更粒度的CPU表達方式。

借鑒亞馬遜EC2中CPU資源的劃分方式,即提出了CPU最小單位為EC2 Compute Unit(ECU),一個ECU代表相當于1.0-1.2 GHz 2007 Opteron or 2007 Xeon處理器的處理能力。YARN提出了CPU最小單位YARN Compute Unit(YCU),目前這個數是一個整數,默認是720,由參數yarn.nodemanager.resource.cpu-ycus-per- core設置,表示一個CPU core具備的計算能力(該feature在2.2.0版本中并不存在,可能增加到2.3.0版本中),這樣,用戶提交作業時,直接指定需要的YCU即 可,比如指定值為360,表示用1/2個CPU core,實際表現為,只使用一個CPU core的1/2計算時間。注意,在操作系統層,CPU資源是按照時間片分配的,你可以說,一個進程使用1/3的CPU時間片,或者1/5的時間片。

https://issues.apache.org/jira/browse/YARN-1089

https://issues.apache.org/jira/browse/YARN-1024

Hadoop 新特性、改進、優化和Bug分析系列5:YARN-3

【總結】

目前,YARN 內存資源調度借鑒了Hadoop 1.0中的方式,比較合理,但CPU資源的調度方式仍在不斷改進中,目前只是一個初步的粗糙實現,相信在不久的將來,YARN 中CPU資源的調度將更加完善。

原文鏈接:http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-memory-cpu-scheduling/

責任編輯:陳四芳 來源: dongxicheng.org
相關推薦

2013-05-27 14:31:34

Hadoop 2.0

2011-06-22 14:14:27

pageEncodincontentType

2012-12-24 13:30:34

iOS

2021-02-24 13:51:45

BIMAI建筑技術

2014-03-21 09:30:26

軟件開發碼農

2011-08-08 14:13:47

iPhone XML NSXMLParse

2023-12-26 00:55:51

資源隔離CPU

2021-04-28 07:34:46

SpringScheduledAsync

2020-02-21 17:33:17

SparkKafka數據

2009-07-30 15:09:44

asp.net中Bin

2024-09-20 11:32:28

.NET內存管理

2016-11-07 09:02:02

Malloc內存syscall

2021-07-26 14:14:40

VRAI人工智能

2023-11-09 09:09:36

ZookeeperCP組件

2014-01-07 14:04:13

HadoopMapReduce

2020-09-24 10:09:01

GETPOST前端

2010-07-13 10:47:18

Perl面向對象

2009-06-19 17:05:08

MVC框架Struts和Spri

2022-03-24 23:04:37

linux靜態庫動態庫

2015-05-05 09:37:29

OpenStackNova資源統計
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产一二三区 | 中文字幕免费 | 中文字幕一区二区在线观看 | 亚洲国产一区二区三区 | 国产亚洲一区二区精品 | 亚洲av一级毛片 | 一区二区三区欧美 | 97久久精品午夜一区二区 | 国产精品视频在线观看 | 亚洲三级视频 | 国产精品免费一区二区三区四区 | 久久大全 | 国产在线观看av | 久久中文字幕在线 | 黄网站在线播放 | 偷拍自拍网址 | 国产高清精品在线 | 午夜精品一区二区三区在线播放 | 久久99深爱久久99精品 | 男人的天堂久久 | 波波电影院一区二区三区 | 91精品国产综合久久婷婷香蕉 | 在线视频一区二区三区 | 国产成人久久精品 | 欧美韩一区二区 | 欧美一区二区三区视频 | 涩涩片影院 | 精品国产一区二区三区久久影院 | 天堂一区二区三区 | 国产精品 欧美精品 | 精品国产91久久久久久 | 国产精品久久久久久久免费大片 | 亚洲精品久久久久久久久久吃药 | 美女爽到呻吟久久久久 | 亚洲福利在线观看 | 久久午夜精品 | 亚洲视频二区 | 视频一区二区三区在线观看 | 亚洲欧洲在线视频 | 欧美区在线 | 狠狠伊人|