亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

MapReduce詳解

系統 2530 0

轉載請出自出處: http://eksliang.iteye.com/blog/2228705

一.Hadoop1.0中MapReduce的組成

1.從功能模塊角度
  • 客戶端 :提交MapReduce作業;
  • JobTracker :

1.作業調度:將一個作業(Job)分成若干個子任務分發到taskTraker中去執行

2.任務監控:TaskTracker發送心跳給JobTracker報告自己的運行狀態,以讓JobTracker能夠監控到他

3.資源管理:每個任務向JobTracker申請資源

4.監控過程中發現失敗或者運行過慢的任務,對他進行重新啟動

  • TaskTraker :

主動發送心跳給jobTracker并與JobTracker他通信,從而接受到JobTracker發送過來需要執行的任務

2.從架構的角度
  1. 編程模型(新舊API)
  2. ?運行環境(JobTracker和TaksTracker)
  3. ?數據處理引擎(MapTask和ReduceTask)

?

二.MapReduce(hadoop1.0)的資源管理模型

2.1MapReduce的資源組成由兩部分組成
  • 資源表示模型

用于描述資源表示形式,Hadoop1.0使用“槽位(slot)”組織各個節點的資源,為了簡化資源的管理,Hadoop將各個節點上資源(CPU、內存、網絡IO、磁盤IO等等)等量切分成若干份,每一份用“slot”表示,同時規定一個task可根據實際情況需要占用多個”slot”。

簡單的說:hadoop1.0將多維度的資源進行了抽象,使用“slot”來表示,從而簡化對資源的管理。

  • 資源分配模型

而資源分配模型則決定如何將資源分配給各個作業/任務,在Hadoop中,這一部分由一個插拔式的調度器完成。

更進一步說,slot相當于運行的“許可證”,一個任務只有獲得“許可證”后,才能夠獲得運行的機會,這也意味著,每一個節點上的slot的數量決定了當前節點能夠并發執行多少個任務。Hadoop1.0為了區分MapTask跟ReduceTask所使用資源的差異,進一步將slot分為MapSlot跟ReduceSlot,他們分別只能被MapTask跟ReduceTask使用。

?

Hadoop集群管理員可根據各個節點硬件配置和應用特點為它們分配不同的map slot數(由參數mapred.tasktracker.map.tasks.maximum指定)和reduce slot數(由參數mapred.tasktrackerreduce.tasks.maximum指定)

?

2.2Hadoop1.0資源管理的缺點
  1. 靜態資源配置 。采用了靜態資源設置策略,即每個節點事先配置好可用的slot總數,這些slot數目一旦啟動后無法再動態修改。
  2. 資源無法共享 。Hadoop 1.0將slot分為Map slot和Reduce slot兩種,且不允許共享。對于一個作業,剛開始運行時,Map slot資源緊缺而Reduce slot空閑,當Map Task全部運行完成后,Reduce slot緊缺而Map slot空閑。很明顯,這種區分slot類別的資源管理方案在一定程度上降低了slot的利用率。
  3. 資源劃分粒度過大 。資源劃分粒度過大,往往會造成節點資源利用率過高或者過低 ,比如,管理員事先規劃好一個slot代表2GB內存和1個CPU,如果一個應用程序的任務只需要1GB內存,則會產生“資源碎片”,從而降低集群資源的利用率,同樣,如果一個應用程序的任務需要3GB內存,則會隱式地搶占其他任務的資源,從而產生資源搶占現象,可能導致集群利用率過高。
  4. 沒引入有效的資源隔離機制 。Hadoop 1.0僅采用了基于jvm的資源隔離機制,這種方式仍過于粗糙,很多資源,比如CPU,無法進行隔離,這會造成同一個節點上的任務之間干擾嚴重。

三.Year的資源管理模型

? ? ? 在實際系統中,資源本身是多維度的,包括CPU、內存、網絡I/O和磁盤I/O等,因此,如果想精確控制資源分配,不能再有slot的概念,最直接的方法就是是讓任務直接向調度器申請自己需要的資源(比如某個任務可申請1GB 內存和1個CPU),而調度器則按照任務實際需求為其精細地分配對應的資源量,不再簡單的將一個Slot分配給它,Hadoop 2.0正式采用了這種基于真實資源量的資源分配方案。

? ? ? ?MRv2最基本的設計思想是將JobTracker的兩個主要功能,即資源管理和作業調度/監控分成兩個獨立的進程。全局的ResourceManager(RM)和與每個應用相關的ApplicationMaster(AM)。

“RM有兩個組件組成:調度器(Scheduler)應用管理器(ApplicationsManager,ASM)”

如下圖是官網提供的year架構圖


MapReduce詳解
?

3.1 Year的功能組成模塊

? ? ? ?調度器是個可插拔的組件,負責作業的調度并將集群中的資源分配給應用。YARN自帶了多個資源調度器,如Capacity Scheduler和Fair Scheduler等。

? ? ? ?ASM:負責接收任務,并指定AS運行的節點NM節點,同時啟動AM

?

  • NM:是每個節點上的資源管理,負責處理來自RM的命令,處理AM的命令,主動發送心跳給RM,讓RM能夠監控NM的運行狀態。
  • AM:就是我們的應用(應用可以是mapduce程序或者DAG有向無環圖)
  • Container:是YARN中資源的抽象,將操作系統中多維度的資源(CPU、內存、網絡I/O和磁盤I/O等)封裝成container,是Year中資源的基本單位
3.2 應用在Year中的運行流程
  1. 客戶端提交一個應用程序AM到ResourceManager上
  2. ResourceManager先與集群中NodeManager通信,根據集群中NodeManger的資源 ? 使用情況,確定運行AM的NodeManager;
  3. 確定了運行的節點后,AM馬上向RM申請資源,資源被封裝成Container的形式響應給AM,申請到資源后和確定了執行的NM后,RM馬上在NM上啟動AM
  4. 所有任務運行完成后,ApplicationMaster向ResourceManager注銷,整個應用程序運行結束。

?

四.MapReduce1與MapRreduce2的區別

? ? ? 如果從MapReduce的功能模塊去區分他們,會比較亂,很難直觀的說清楚,如果從MapReduce的系統架構入手,這個問題就變得簡單了

MapReduce1從架構的角度可以分為三個部分

  1. 編程模型(新舊API)
  2. 運行環境(JobTracker和TaskTracker)
  3. 數據處理引擎(MapTask和ReduceTask)

MapReduce2從架構的角度可以分為三個部分

  1. 編程模型(新舊API)
  2. 運行環境(Year)
  3. 數據處理引擎(MapTask和ReduceTask)

從架構可以很清楚區分到,他們之間的區別主要在運行環境變了!

?

參考博客:

Shuffle和排序:http://langyu.iteye.com/blog/992916

董的博客Mapreduce的資源分配:http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-configurations-resourcemanager-nodemanager/

?

MapReduce詳解


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一级欧美一级日韩毛片99 | 久久国产精品亚洲77777 | 91精品免费观看老司机 | 天天插天天插天天插 | 亚州一级 | 伊人久久色 | 国产福利不卡 | 久久视屏这里只有精品6国产 | 一级aa免费视频毛片 | 女性一级全黄生活片免费看 | 日本一区二区高清 | 亚洲黄色在线视频 | 日韩欧美高清一区 | 日本叼嘿视频 | 一本伊大人香蕉久久网手机 | 国产在线日韩 | 欧美性啪啪 | 91视频免费观看 | 青青草免费在线视频 | 国产成人免费高清在线观看 | 天天舔天天操 | 国产女人成人精品视频 | 午夜影院普通 | 久久国产这里只精品免费 | 成人午夜精品网站在线观看 | 男人天堂黄色 | 一本久草 | 久久久久久人精品免费费看 | 波多野吉衣一区二区三区四区 | 精品国产品香蕉在线观看75 | 九九视频高清视频免费观看 | 国产尤物福利视频在线观看 | 天天操精品 | 日韩性网 | 奇米影视奇米色777欧美 | 四虎影视在线看免费 720p | 亚洲国产成人久久精品动漫 | 中国毛片免费看 | 91免费国产高清观看 | 青青青青久在线观看视频 | 亚洲视频国产视频 |