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

擴展MapReduce架構的一種嘗試

開發 后端
本篇文章對于擴展MapReduce架構舉出一個生動的例子,可以方便大家理解,希望對大家有所幫助。

假設有這樣一個游戲,一個人來出加減乘除的題目給很多小朋友來做,對每一個小朋友,給他出一道題目,然后讓他算好后給你報告答案,你再給他出一道題目,周而復始如此。如果有十個小朋友在算,還可以欣賞小朋友抓耳撓腮的樣子;如果有一百個小朋友,每個人都在爭著表現,叫嚷著讓出題,這個人肯定不堪重負;如果有成千上萬個小朋友呢?這個人瘋了。

面對這樣的場景,學生時的經驗是不斷地改進和優化算法;而工作以后的經驗是再拽的算法也難以抵擋海量的數據或任務,主要還是增加資源,其次才是優化算法,兩者可并行。小朋友越多,相應地增加出題人的數量,也可以緩解每個人的壓力。

與這種場景類似,MapReduce框架也面臨類似的問題。如下圖:

 

 

越來越多的task tracker會讓job tracker很有壓力,以至于task tracker有很多時,job tracker不能及時響應請求,很多task tracker就空閑著資源,等待job tracker的response。Job tracker的壓力與task tracker的資源浪費問題導致整個集群難于擴展,對外提供服務的能力也相當下降很多。當前Yahoo也受此困擾,正醞釀重構MapReduce架構。我沒從這個架構看出對現有問題的改善之處,所以自己來試著分析下解決方法。

回頭來看模擬場景,如果把小朋友按班分,每個班都有一位老師。每位老師從出題人那里得到很多題目,然后讓自己班的小朋友來做。這樣,出題人的壓力在于老師的數量,老師的壓力在于班里小朋友的數量。以前小朋友數量增加帶給出題人的壓力,現在分攤到老師就會成倍地減少。與之前相比,不同處在于引入了老師這個角色。

如果以同樣方式解決MapReduce問題,那“老師”的角色應該由誰來扮演呢?MapReduce的初衷之一是“盡量移動計算而不是數據”。假如數據存放于HDFS這樣的文件系統上,移動數據的成本在于機器之間的帶寬限制,由此HDFS網絡拓撲結構表示機器之間數據移動的等級。MapReduce的map task會去訪問HDFS的存儲block,如果block在機器本地或是與task tracker 在同一rack內,對執行沒有太大影響,否則集群帶寬會嚴重影響task執行效率。

從上述描述來看,影響task執行的***網絡拓撲范圍是rack。一般來說,Rack間的網絡帶寬肯定要比rack內的帶寬小。那我們就以rack來作為“老師”的角色。以此假設,我們在每個rack內將某臺機器設為secondary job tracker,負責rack內task資源的調度與分發單位。結構圖如下:

 

 

這個結構有兩種job tracker:Global job tracker與Secondary job tracker。Global JT負責跨rack的task分發與調度。基本task分配策略是根據job輸入數據的block存儲情況,只分配block在當前rack內的map task到rack上,分配reduce task 到 map task多的rack上。Secondary JT與Global JT保持著心跳,它管理的map task操作數據要么是node-local,要么是rack-local cache 級別,不會再有map task跨rack取數據的場景,所以分發策略就很簡單了。

在這個結構下,client提交job的流程就變成:1. Client上傳job相關的輸入數據到HDFS上,HDFS會將block幅本存放與不同的data node上,這些data node有在同一個rack內,也有跨rack存在的。2. job提交到Global JT后,根據block存儲情況(在哪些rack上存在block就往哪些rack的Secondary JT發送map task,且根據rack上map task的多少來分發reduce task)。3. Secondary JT向Global JT匯報當前rack內的資源情況,得到那些自己rack內的task。4. Secondary JT響應本rack內的TT 心跳,然后分配適合的task來執行。

以rack劃分MapReduce架構,也是考慮到HDFS與網絡帶寬情況的結果。如果每個rack內有15到20臺機器,10000臺機器差不多可以分布到七八百rack內。Global JT與Secondary JT的并發壓力都不大。這樣的垂直擴展只是暫時解決了部分問題,但沒有從根本上解決job分配程序的壓力。

上述只是我的個人想法,希望得到各位的指正及建議,謝謝!

【編輯推薦】

  1. 云計算背后的秘密(1)-MapReduce
  2. 十大企業新興技術評選出臺 MapReduce登頂
  3. 2009年十大新興企業級技術:MapReduce折桂
  4. HadoopStudio中實現MapReduce應用
  5. Google將放棄MapReduce 新索引系統將遷移至BigTable
責任編輯:金賀 來源: JavaEye博客
相關推薦

2014-09-17 14:37:06

2025-05-29 01:23:00

MySQLMongoDB事務同步

2025-05-22 04:00:00

PARSCALE大型語言模型LLM

2017-07-05 14:09:04

系統設計與架構java云計算

2013-05-27 15:50:32

NETGEAR無線路由

2020-12-23 10:10:23

Pythonweb代碼

2022-06-22 09:44:41

Python文件代碼

2022-07-07 10:33:27

Python姿勢代碼

2020-12-09 10:15:34

Pythonweb代碼

2009-12-11 10:30:31

2015-12-18 16:15:55

架構新型計算模型

2022-03-01 09:58:10

高并發架構開發

2022-09-27 08:04:37

Adapter?設計模式

2013-09-04 12:38:56

架構設計架構設計構思

2017-01-22 16:35:02

iOSBlockCallback

2012-01-17 11:02:39

2023-06-02 15:26:37

光纖綜合布線

2015-08-03 09:36:01

賽迪翻譯

2015-08-31 09:27:21

語言界面UI

2012-03-21 09:54:00

Gzip
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人欧美一区二区三区在线播放 | 中文字幕视频在线观看免费 | 日日日视频 | 久热久热 | 日日噜噜噜夜夜爽爽狠狠视频, | 一级看片免费视频 | 欧美日韩国产一区 | 91在线电影 | 免费99视频 | 欧美三级久久久 | 国产一级一片免费播放 | 犬夜叉在线观看 | 国产精品自拍av | 在线看亚洲 | 91亚洲精 | 国产日韩欧美在线 | 手机在线一区二区三区 | 亭亭五月激情 | 国产免费一区 | 岛国av一区二区三区 | 亚洲成人自拍网 | 综合第一页 | 久久久久久黄 | 在线观看成年人视频 | 黄色一级电影在线观看 | 日韩精品久久 | 91中文字幕在线观看 | 亚洲精品久久久久久国产精华液 | 国产一级片免费看 | 国产精品久久a | 国产一级片在线观看视频 | 国产乱码久久久 | 美美女高清毛片视频免费观看 | 做a的各种视频 | 天天插天天狠天天透 | 欧美欧美欧美 | 日本一区二区视频 | 黄网站免费观看 | 青青久久 | 成人免费视频 | 91不卡|