国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Hadoop Yarn標簽調度的應用

2015-05-30 10:48簡巖楊道平
關鍵詞:框架大數據

簡巖 楊道平

摘 要:文章詳細介紹了Hadoop Yarn框架及Hadoop調度,并分析了Yarn框架下的標簽調度(Label based scheduling)策略,以實例方式詳細介紹了標簽調度的應用場合和使用方法。該文的方法對基于Hadoop Yarn框架下的大數據處理平臺配置,特別是異構環(huán)境中的平臺優(yōu)化有一定的參考意義。

關鍵詞:大數據;框架;標簽調度

中圖分類號:TP311.13 文獻標識碼:A 文章編號:1006-8937(2015)15-0072-01

1 概 述

在Hadoop0.20版本推出之后,Hadoop開源社區(qū)開始設計全新構架的新一代Hadoop系統(tǒng),該版本后演化為Hadoop2.0版本,即新一代的Hadoop系統(tǒng)YARN。

YARN構架將主控節(jié)點的資源管理和作業(yè)管理功能分離設置,引入了全局資源管理器(Resource Manager)和針對每個作業(yè)的應用主控管理器(Application Master)。在最新的Hadoop 2.6.0版本中,YARN引入了一種新的調度策略:基于標簽的調度機制。該機制的主要引入動機是更好地讓YARN運行在異構集群中,進而更好地管理和調度混合類型的應用程序,本文即嘗試如何使用標簽調度展開討論。

2 Hadoop Yarn框架介紹

新的Hadoop MapReduce框架命名為MapReduceV2或者叫 Yarn。重構根本的思想是將JobTracker兩個主要的功能分離成單獨的組件,這兩個功能是資源管理和任務調度/監(jiān)控。新的資源管理器全局管理所有應用程序計算資源的分配,每一個應用的ApplicationMaster負責相應的調度和協調。一個應用程序無非是一個單獨的傳統(tǒng)的MapReduce任務或者是一個DAG(有向無環(huán)圖)任務。ResourceManager和每一臺機器的節(jié)點管理服務器能夠管理用戶在那臺機器上的進程并能對計算進行組織。每一個應用的ApplicationMaster的職責有:向調度器索要適當的資源容器運行任務,跟蹤應用程序的狀態(tài)和監(jiān)控它們的進程,處理任務的失敗原因。

3 Hadoop常用調度器

為了更好地理解標簽調度技術,有必要回顧一下Hadoop常用的調度器。

3.1 默認的調度器FIFO

最早的Hadoop Map/Reduce 計算架構中,JobTracker 在進行作業(yè)調度時使用的FIFO(First In First Out)算法,其優(yōu)點是調度算法簡單明了,JobTracker工作負擔輕。

3.2 公平份額調度算法(Fair Scheduler)

Fair Scheduler是由Facebook公司提出的,設計思想是,盡可能保證所有的作業(yè)都能夠獲得等量的資源份額,Fair Scheduler考慮了作業(yè)用戶的“公平性”。

3.3 計算能力調度器(Capacity Scheduler)

Capacity Scheduler能有效的對hadoop集群的內存資源進行管理,以支持內存密集型應用。作業(yè)對內存資源需求高時,調度算法將把該作業(yè)的相關任務分配到內存資源充足的節(jié)點上。在hadoop自帶的調度器中,Capacity Scheduler支持標簽調度,FIFO Scheduler和Fair Scheduler尚不支持。

4 Label based scheduling應用

Label based scheduling是一種調度策略,就像priority-based scheduling一樣,是調度器調度眾多調度策略中的一種,可以跟其他調度策略混合使用,下面以實例說明。

不失一般性,假設有30個以上的節(jié)點,各節(jié)點硬件配置和網絡部署如表一所示,其中:HighCPU組10個節(jié)點,各節(jié)點CPU運算能力較強,適合計算密集型任務;HighMEM組10個節(jié)點,計算能力普通,但各節(jié)點內存較高,適合內存密集型任務;HighIO組10個節(jié)點,計算能力和內存配置普通,但使用了IB高性能網絡,網絡交換能力較強,適合IO密集型任務。

假設公司運行的任務類型有三類,一類是普通的Hadoop應用,一類是運行高內存需求應用,一類是高IO的應用。

首先,用Normal、HighgCPU、Highmem、HighIO表示分配標簽名,需要為三類節(jié)點創(chuàng)建相應的標簽,方法如下:

修改capacity scheduler相關配置,設置每個隊列對應的label,以及每中l(wèi)abel的資源上下限。根據規(guī)劃,應創(chuàng)建四個隊列,假設為queue1、queue2、queue3、queue4,其中queue1隊列可使用的標簽是Normal和HighgCPU、Highmem、HighIO,queue2隊列可使用的標簽是HighCPU,queue3隊列可使用的標簽是HighMEM,queue4隊列可使用的標簽是HighIO,并配置四個隊列的capacity和maxcapacity。

之后按照以下步驟操作:

步驟1:添加系統(tǒng)級別的label(相當于所有l(wèi)abel的全集),注意各個節(jié)點上的label必須都在系統(tǒng)級別的label中。

yarn rmadmin-addToClusterNodeLabels Normal,HighCPU,HighMeM,HighIO

步驟2:為各個節(jié)點分別添加label(可動態(tài)修改)。

yarn rmadmin -replaceLabelsOnNode“nodeId,Normal,High-

CPU,HighMeM,HighIO”

注意,nodeId是nodemanager的唯一標示,注意一個節(jié)點上可以有多個nodemanager,每個nodemanager的nodeid可以在ResourceManager界面上看到,通常有host和PRC port拼接而成,默認情況下,各個nodemanager的RPC port是隨機選取的,你可以將所有的nodemanager配置成一樣的,便于管理:

yarn.nodemanager.address

0.0.0.0:45454

步驟3:配置label重啟恢復功能。這樣,label信息會保存到hdfs上(默認是保存在內存中的),之后Yarn重新啟動,可以自動恢復所有l(wèi)abel信息:

yarn.node-labels.manager-class

org.apache.hadoop.yarn.server.resourcemanager.

nodelabels.RMNodeLabelsManager

5 結 語

本文詳細介紹本文詳細介紹了Hadoop Yarn框架下的標簽調度(Label based scheduling)策略,并介紹了使用方法,但對異構環(huán)境中的資源類別劃分、任務類別劃分等沒有作深入的討論,用戶在使用標簽調度時,應根據平臺的實際資源狀況作出比較詳細的分類,然后根據各任務的資源需求建立相對合理的配置規(guī)劃,只有這樣,才能充分發(fā)揮標簽調度的作用。

參考文獻:

[1] 鄧傳華,范通讓,高峰.Hadoop下基于統(tǒng)計最優(yōu)的資源調度算法[J].計算機應用研究,2013,(2).

[2] 土峰.Hadoop集群作業(yè)的調度算法[J].程序員,2009,(12).

[3] 高源.云計算Hadoop平臺調度策略研究[J].科海故事博覽,2011,(2).

猜你喜歡
框架大數據
廣義框架的不相交性
WTO框架下
大數據環(huán)境下基于移動客戶端的傳統(tǒng)媒體轉型思路
關于原點對稱的不規(guī)則Gabor框架的構造
一種基于OpenStack的云應用開發(fā)框架
基于Hadoop的DDoS檢測框架