Hadoop任務(wù)調(diào)度策略

Hadoop在standalone模式下只有FIFO Scheduler 和 Fair Scheduler锅纺;

Hadoop-yarn模式下有FIFO Scheduler榕酒,Capacity Scheduler 和 Fair Scheduler策略

FIFO Scheduler:

FIFO.png

先進先出策略屉凯,就是按照application提交的順序來執(zhí)行的 ,這些application都會放在一個隊列里绣夺, 前一個執(zhí)行完了才會執(zhí)行下一個方援。

缺點:提交耗時長的任務(wù)后,會導(dǎo)致后面的任務(wù)長期處于饑餓狀態(tài)式镐。

Capacity Scheduler

hadoop默認的調(diào)度器

capacity.png

Capacity Scheduler為每個人分配一個隊列反镇,每個隊列占用的集群資源可以是相同的也可以是不同的,隊列內(nèi)部還是采用FIFO調(diào)度的策略娘汞。

如上圖所示歹茶,隊列A和B都各自占有不同的資源,但是A占用的比B更多,在任務(wù)執(zhí)行的時候辆亏,如果集群中恰好有空閑的資源风秤,比如B隊列中的資源,那么調(diào)度器就可以將B隊列中空閑的資源分配給隊列A扮叨,這種方式被稱為彈性隊列(queue elasticity)缤弦。

但是彈性隊列也有副作用,B隊列的資源被分配給A后彻磁,此時隊列B又有了新的任務(wù)碍沐,但是B隊列資源不夠,此時只能等A隊列中的任務(wù)執(zhí)行完衷蜓。為了方式一個對列占用過多的資源累提,yarn提供了一個可以設(shè)置的參數(shù),用來設(shè)置磁浇,某個隊列能夠占用的最大資源斋陪。(這個參數(shù)的設(shè)置需要權(quán)衡以達到最優(yōu) )

隊列支持層級關(guān)系,如下:

root
├── prod
└── dev
    ├── eng
    └── science

配置如下

<?xml version="1.0"?>
<configuration>
   #設(shè)置root隊列
  <property>
    <name>yarn.scheduler.capacity.root.queues</name>
    <value>prod,dev</value>
  </property>
 #設(shè)置子隊列
  <property>
    <name>yarn.scheduler.capacity.root.dev.queues</name>
    <value>eng,science</value>
  </property>
 
  <property>
#設(shè)置pro隊列理論上占的資源比重    <name>yarn.scheduler.capacity.root.prod.capacity</name>
    <value>40</value>
  </property>
 
  <property>
    <name>yarn.scheduler.capacity.root.dev.capacity</name>
    <value>60</value>
  </property>
 #設(shè)置dev隊列最大能占的資源比重(開始為60%  最大為75%)
  <property>
    <name>yarn.scheduler.capacity.root.dev.maximum-capacity</name>
    <value>75</value>
  </property>
 
  <property>
  #eng的兩個子隊列各占父隊列一半置吓。由于沒有設(shè)最大占用值无虚,所以可能出現(xiàn)占用整個父隊列的情況  <name>yarn.scheduler.capacity.root.dev.eng.capacity</name>
    <value>50</value>
  </property>
 
  <property>
    <name>yarn.scheduler.capacity.root.dev.science.capacity</name>
    <value>50</value>
  </property>
</configuration>

通過配置參數(shù)來設(shè)置job運行時所在的隊列:

mapreduce.job.queuename

指明隊列的時候不需要(也不能包含父隊列),比如eng不能寫成root.dev.eng

Fair Scheduler

Fair.png

公平調(diào)度是一種賦予作業(yè)(job)資源的方法衍锚,它的目的是讓所有的作業(yè)隨著時間的推移友题,都能平均的獲取等同的共享資源。所有的 job 具有相同的資源戴质。

當單獨一個作業(yè)在運行時度宦,它將使用整個集群。當有其它作業(yè)被提交上來時告匠,系統(tǒng)會將任務(wù)(task)空閑資源(container)賦給這些新的作業(yè)戈抄,以使得每一個作業(yè)都大概獲取到等量的CPU時間。

與Hadoop默認調(diào)度器維護一個作業(yè)隊列不同后专,這個特性讓小作業(yè)在合理的時間內(nèi)完成的同時又不"餓"到消耗較長時間的大作業(yè)呛凶。它也是一個在多用戶間共享集群的簡單方法。公平調(diào)度可以和作業(yè)優(yōu)先權(quán)搭配使用——優(yōu)先權(quán)像權(quán)重一樣用作為決定每個作業(yè)所能獲取的整體計算時間的比例行贪。同計算能力調(diào)度器類似漾稀,支持多隊列多用戶,每個隊列中的資源量可以配置建瘫, 同一隊列中的作業(yè)公平共享隊列中所有資源崭捍。


title: Hadoop任務(wù)調(diào)度策略
categories: Spark
tags:

  • Spark
    date: 2018-04-15
    typora-root-url: Hadoop任務(wù)調(diào)度策略

Hadoop在standalone模式下只有FIFO Scheduler 和 Fair Scheduler;

Hadoop-yarn模式下有FIFO Scheduler啰脚,Capacity Scheduler 和 Fair Scheduler策略

FIFO Scheduler:

<img src='FIFO.png' width="50%">

先進先出策略殷蛇,就是按照application提交的順序來執(zhí)行的 实夹,這些application都會放在一個隊列里, 前一個執(zhí)行完了才會執(zhí)行下一個粒梦。

缺點:提交耗時長的任務(wù)后亮航,會導(dǎo)致后面的任務(wù)長期處于饑餓狀態(tài)。

Capacity Scheduler

hadoop默認的調(diào)度器

<img src="capacity.png" width="50%">

Capacity Scheduler為每個人分配一個隊列匀们,每個隊列占用的集群資源可以是相同的也可以是不同的缴淋,隊列內(nèi)部還是采用FIFO調(diào)度的策略。

如上圖所示泄朴,隊列A和B都各自占有不同的資源重抖,但是A占用的比B更多,在任務(wù)執(zhí)行的時候祖灰,如果集群中恰好有空閑的資源钟沛,比如B隊列中的資源,那么調(diào)度器就可以將B隊列中空閑的資源分配給隊列A局扶,這種方式被稱為彈性隊列(queue elasticity)恨统。

但是彈性隊列也有副作用,B隊列的資源被分配給A后三妈,此時隊列B又有了新的任務(wù)延欠,但是B隊列資源不夠,此時只能等A隊列中的任務(wù)執(zhí)行完沈跨。為了方式一個對列占用過多的資源,yarn提供了一個可以設(shè)置的參數(shù)兔综,用來設(shè)置饿凛,某個隊列能夠占用的最大資源。(這個參數(shù)的設(shè)置需要權(quán)衡以達到最優(yōu) )

隊列支持層級關(guān)系软驰,如下:

root
├── prod
└── dev
    ├── eng
    └── science

配置如下

<?xml version="1.0"?>
<configuration>
   #設(shè)置root隊列
  <property>
    <name>yarn.scheduler.capacity.root.queues</name>
    <value>prod,dev</value>
  </property>
 #設(shè)置子隊列
  <property>
    <name>yarn.scheduler.capacity.root.dev.queues</name>
    <value>eng,science</value>
  </property>
 
  <property>
#設(shè)置pro隊列理論上占的資源比重    <name>yarn.scheduler.capacity.root.prod.capacity</name>
    <value>40</value>
  </property>
 
  <property>
    <name>yarn.scheduler.capacity.root.dev.capacity</name>
    <value>60</value>
  </property>
 #設(shè)置dev隊列最大能占的資源比重(開始為60%  最大為75%)
  <property>
    <name>yarn.scheduler.capacity.root.dev.maximum-capacity</name>
    <value>75</value>
  </property>
 
  <property>
  #eng的兩個子隊列各占父隊列一半涧窒。由于沒有設(shè)最大占用值,所以可能出現(xiàn)占用整個父隊列的情況  <name>yarn.scheduler.capacity.root.dev.eng.capacity</name>
    <value>50</value>
  </property>
 
  <property>
    <name>yarn.scheduler.capacity.root.dev.science.capacity</name>
    <value>50</value>
  </property>
</configuration>

通過配置參數(shù)來設(shè)置job運行時所在的隊列:

mapreduce.job.queuename

指明隊列的時候不需要(也不能包含父隊列)锭亏,比如eng不能寫成root.dev.eng

Fair Scheduler

<img src="fair.png" width='50%'>

公平調(diào)度是一種賦予作業(yè)(job)資源的方法纠吴,它的目的是讓所有的作業(yè)隨著時間的推移,都能平均的獲取等同的共享資源慧瘤。所有的 job 具有相同的資源戴已。

當單獨一個作業(yè)在運行時,它將使用整個集群锅减。當有其它作業(yè)被提交上來時糖儡,系統(tǒng)會將任務(wù)(task)空閑資源(container)賦給這些新的作業(yè),以使得每一個作業(yè)都大概獲取到等量的CPU時間怔匣。

與Hadoop默認調(diào)度器維護一個作業(yè)隊列不同握联,這個特性讓小作業(yè)在合理的時間內(nèi)完成的同時又不"餓"到消耗較長時間的大作業(yè)。它也是一個在多用戶間共享集群的簡單方法。公平調(diào)度可以和作業(yè)優(yōu)先權(quán)搭配使用——優(yōu)先權(quán)像權(quán)重一樣用作為決定每個作業(yè)所能獲取的整體計算時間的比例金闽。同計算能力調(diào)度器類似纯露,支持多隊列多用戶,每個隊列中的資源量可以配置代芜, 同一隊列中的作業(yè)公平共享隊列中所有資源埠褪。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蜒犯,隨后出現(xiàn)的幾起案子组橄,更是在濱河造成了極大的恐慌,老刑警劉巖罚随,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玉工,死亡現(xiàn)場離奇詭異,居然都是意外死亡淘菩,警方通過查閱死者的電腦和手機遵班,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來潮改,“玉大人狭郑,你說我怎么就攤上這事』阍冢” “怎么了翰萨?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長糕殉。 經(jīng)常有香客問我亩鬼,道長,這世上最難降的妖魔是什么阿蝶? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任雳锋,我火速辦了婚禮,結(jié)果婚禮上羡洁,老公的妹妹穿的比我還像新娘玷过。我一直安慰自己,他們只是感情好筑煮,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布辛蚊。 她就那樣靜靜地躺著,像睡著了一般真仲。 火紅的嫁衣襯著肌膚如雪嚼隘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天袒餐,我揣著相機與錄音飞蛹,去河邊找鬼谤狡。 笑死,一個胖子當著我的面吹牛卧檐,可吹牛的內(nèi)容都是我干的墓懂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼霉囚,長吁一口氣:“原來是場噩夢啊……” “哼捕仔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起盈罐,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤榜跌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后盅粪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钓葫,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年票顾,在試婚紗的時候發(fā)現(xiàn)自己被綠了础浮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡奠骄,死狀恐怖豆同,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情含鳞,我是刑警寧澤影锈,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站蝉绷,受9級特大地震影響鸭廷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜潜必,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望沃但。 院中可真熱鬧磁滚,春花似錦、人聲如沸宵晚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淤刃。三九已至晒他,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逸贾,已是汗流浹背陨仅。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工津滞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人灼伤。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓触徐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親狐赡。 傳聞我的和親對象是個殘疾皇子撞鹉,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容