日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop的调度器总结

發布時間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop的调度器总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
隨著MapReduce的流行,其開源實現Hadoop也變得越來越受推崇。在Hadoop系統中,有一個組件非常重要,那就是調度器,它的作用是將系統中空閑的資源按一定策略分配給作業。在Hadoop中,調度器是一個可插拔的模塊,用戶可以根據自己的實際應用要求設計調度器。Hadoop中常見的調度器有三種,分別為:

(注:本文介紹的Hadoop調度器不夠系統化,如果想了解更系統化的Hadoop調度器,可閱讀我的最新書籍《Hadoop技術內幕:深入解析MapReduce架構設計與實現原理》(購買說明)第10章 “Hadoop多用戶作業調度器分析”,分析了當前比較流行的FIFO、Capacity個Fair三種調度器的配置方法、實現機制和優缺點對比,當然,也介紹了其他類型的幾種調度器。)

(1)默認的調度器FIFO

Hadoop中默認的調度器,它先按照作業的優先級高低,再按照到達時間的先后選擇被執行的作業。

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

支持多個隊列,每個隊列可配置一定的資源量,每個隊列采用FIFO調度策略,為了防止同一個用戶的作業獨占隊列中的資源,該調度器會對同一用戶提交的作業所占資源量進行限定。調度時,首先按以下策略選擇一個合適隊列:計算每個隊列中正在運行的任務數與其應該分得的計算資源之間的比值,選擇一個該比值最小的隊列;然后按以下策略選擇該隊列中一個作業:按照作業優先級和提交時間順序選擇,同時考慮用戶資源量限制和內存限制。

(3)公平調度器Fair Scheduler

同計算能力調度器類似,支持多隊列多用戶,每個隊列中的資源量可以配置,同一隊列中的作業公平共享隊列中所有資源,具體算法參見我的博文《Hadoop公平調度器算法解析》

實際上,Hadoop的調度器遠不止以上三種,最近,出現了很多針對新型應用的Hadoop調度器。

(4)適用于異構集群的調度器LATE

現有的Hadoop調度器都是建立在同構集群的假設前提下,具體假設如下:

1)集群中各個節點的性能完全一樣

2)對于reduce task,它的三個階段:copy、sort和reduce,用時各占1/3

3)同一job的同類型的task是一批一批完成的,他們用時基本一樣。

現有的Hadoop調度器存在較大缺陷,主要體現在探測落后任務的算法上:如果一個task的進度落后于同類型task進度的20%,則把該task當做落后任務(這種任務決定了job的完成時間,需盡量縮短它的執行時間),從而為它啟動一個備份任務(speculative task)。如果集群異構的,對于同一個task,即使是在相同節點上的執行時間也會有較大差別,因而在異構集群中很容易產生大量的備份任務。

LATE(Longest Approximate Time to End,參考資料[4])調度器從某種程度上解決了現有調度器的問題,它定義三個閾值:SpeculativeCap,系統中最大同時執行的speculative task數目(作者推薦值為總slot數的10%); SlowNodeThreshold(作者推薦值為25%):得分(分數計算方法見論文)低于該閾值的node(快節點)上不會啟動speculative task;SlowTaskThreshold(作者推薦值為25%):當task進度低于同批同類task的平均進度的SlowTaskThreshold時,會為該task啟動speculative task。它的調度策略是:當一個節點出現空閑資源且系統中總的備份任務數小于SpeculativeCap時,(1)如果該節點是慢節點(節點得分高于SlowNodeThreshold),則忽略這個請求。 (2)對當前正在運行的task按估算的剩余完成時間排序 (3)選擇剩余完成時間最大且進度低于SlowTaskThreshold的task,為該task啟動備份任務。

(5)適用于實時作業的調度器Deadline Scheduler和Constraint-based Scheduler

這種調度器主要用于有時間限制的作業(Deadline Job),即給作業一個deadline時間,讓它在該時間內完成。實際上,這類調度器分為兩種,軟實時(允許作業有一定的超時)作業調度器和硬實時(作業必須嚴格按時完成)作業調度器。

Deadline Scheduler(參考資料[5])主要針對的是軟實時作業,該調度器根據作業的運行進度和剩余時間動態調整作業獲得的資源量,以便作業盡可能的在deadline時間內完成。

Constraint-based Scheduler(參考資料[6])主要針對的是硬實時作業,該調度器根據作業的deadline和當前系統中的實時作業運行情況,預測新提交的實時作業能不能在deadline時間內完成,如果不能,則將作業反饋給用戶,讓他重調整作業的deadline。

————————————————————————————————————————–

參考資料

【1】??? Capacity Scheduler 介紹:http://hadoop.apache.org/common/docs/r0.19.2/capacity_scheduler.html

下載:http://hadoop.apache.org/common/docs/r0.20.0/capacity_scheduler.pdf

【2】??? Fair Scheduler 介紹:http://hadoop.apache.org/common/docs/r0.20.2/fair_scheduler.html

下載:http://svn.apache.org/repos/asf/hadoop/mapreduce/trunk/src/contrib/fairscheduler/designdoc/fair_scheduler_design_doc.pdf

【3】??? Fair Scheduler 論文:M. Zaharia, D. Borthakur, J. S. Sarma, K. Elmeleegy, S. Shenker, and I. Stoica, “Job scheduling for multi-user mapreduce clusters,” EECS Department, University of California, Berkeley, Tech. Rep., Apr 2009.

【4】???Matei Zaharia, Andy Konwinski, Anthony D. Joseph, Randy Katz, Ion Stoica “Improving MapReduce Performance in Heterogeneous Environments,”

【5】??? Deadline Scheduler 論文:J. Polo, D. Carrera, Y. Becerra, J. Torres, E. Ayguade and, M. Steinder, and I. Whalley, “Performance-driven task co-scheduling for mapreduce environments,” in?Network Operations and Management Symposium?(NOMS), 2010 IEEE, 2010, pp. 373 –380.

【6】??? Constraint-based Scheduler 論文K. Kc and K. Anyanwu, “Scheduling hadoop jobs to meet deadlines,” in?2nd IEEE International Conference on Cloud Computing Technology?and Science (CloudCom), 2010, pp. 388 –392.

原創文章,轉載請注明:?轉載自董的博客

本文鏈接地址:?http://dongxicheng.org/mapreduce/hadoop-schedulers/

總結

以上是生活随笔為你收集整理的Hadoop的调度器总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。