大數(shù)據(jù)處理架構(gòu)Hadoop——Hadoop的體系結(jié)構(gòu)_第1頁
大數(shù)據(jù)處理架構(gòu)Hadoop——Hadoop的體系結(jié)構(gòu)_第2頁
大數(shù)據(jù)處理架構(gòu)Hadoop——Hadoop的體系結(jié)構(gòu)_第3頁
大數(shù)據(jù)處理架構(gòu)Hadoop——Hadoop的體系結(jié)構(gòu)_第4頁
大數(shù)據(jù)處理架構(gòu)Hadoop——Hadoop的體系結(jié)構(gòu)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、大數(shù)據(jù)處理架構(gòu)HadoopHadoop的體系結(jié)構(gòu)2 本文來自:大數(shù)據(jù)技術(shù)原理與應(yīng)用概念、存儲(chǔ)、處理、分析與應(yīng)用 作 者:林子雨 出版社:人民郵電出版社 版權(quán)說明 若作者對(duì)本資料使用持有異議,請(qǐng)及時(shí)聯(lián)系本網(wǎng)站,我們將在第一時(shí)間妥善處理。23Hadoop的體系結(jié)構(gòu) HDFS和MapReduce是Hadoop的兩大核心。而整個(gè)Hadoop的體系結(jié)構(gòu)主要是通過HDFS 來實(shí)現(xiàn)對(duì)分布式存儲(chǔ)的底層支持的,并且它會(huì)通過MapReduce 來實(shí)現(xiàn)對(duì)分布式并行任務(wù)處理的程序支持。4HDFS的體系結(jié)構(gòu) 一個(gè)HDFS集群是由一個(gè)NameNode和若干個(gè)DataNode組成的。其中NameNode作為主服務(wù)器,管理文

2、件系統(tǒng)的命名空間和客戶端對(duì)文件的訪問操作;集群中的DataNode管理存儲(chǔ)的數(shù)據(jù)。 HDFS 允許用戶以文件的形式存儲(chǔ)數(shù)據(jù)。從內(nèi)部來看,文件被分成若干個(gè)數(shù)據(jù)塊,而且這若干個(gè)數(shù)據(jù)塊存放在一組DataNode上。 右圖給出了HDFS 的體系結(jié)構(gòu)。 5MapReduce的體系結(jié)構(gòu) MapReduce是一種并行編程模式,這種模式使得軟件開發(fā)者可以輕松地編寫出分布式并行程序。 在Hadoop的體系結(jié)構(gòu)中, MapReduce是一個(gè)簡單易用的軟件框架,基于它可以將任務(wù)分發(fā)到由上千臺(tái)商用機(jī)器組成的集群上,并以一種高容錯(cuò)的方式并行處理大量的數(shù)據(jù)集,實(shí)現(xiàn)Hadoop的并行任務(wù)處理功能。 MapReduce框架是

3、由一個(gè)單獨(dú)運(yùn)行在主節(jié)點(diǎn)上的JobTracker 和運(yùn)行在每個(gè)集群從節(jié)點(diǎn)上的TaskTracker共同組成的。主節(jié)點(diǎn)負(fù)責(zé)調(diào)度構(gòu)成一個(gè)作業(yè)的所有任務(wù),這些任務(wù)分布在不同的從節(jié)點(diǎn)上。主節(jié)點(diǎn)監(jiān)控它們的執(zhí)行情況,并且重新執(zhí)行之前失敗的任務(wù);從節(jié)點(diǎn)僅負(fù)責(zé)由主節(jié)點(diǎn)指派的任務(wù)。當(dāng)一個(gè)Job 被提交時(shí), JobTracker接收到提交作業(yè)和配置信息之后,就會(huì)將配置信息等分發(fā)給從節(jié)點(diǎn),同時(shí)調(diào)度任務(wù)并監(jiān)控TaskTracker的執(zhí)行。 6Hadoop的體系結(jié)構(gòu) 從上面的介紹可以看出, HDFS和MapReduce共同組成了Hadoop分布式系統(tǒng)體系結(jié)構(gòu)的核心。 HDFS在集群上實(shí)現(xiàn)了分布式文件系統(tǒng),MapReduc

4、e 在集群上實(shí)現(xiàn)了分布式計(jì)算和任務(wù)處理。 HDFS在MapReduce任務(wù)處理過程中提供了文件操作和存儲(chǔ)等支持,MapReduce在HDFS的基礎(chǔ)上實(shí)現(xiàn)了任務(wù)的分發(fā)、跟蹤、執(zhí)行等工作,并收集結(jié)果,二者相互作用,完成了Hadoop分布式集群的主要任務(wù)。7Hadoop與分布式開發(fā) Hadoop上的并行應(yīng)用程序開發(fā)是基于MapReduce 編程框架的。MapReduce 編程模型的原理是:利用一個(gè)輸入的key/value 鍵值對(duì)集合來產(chǎn)生一個(gè)輸出的key/value 鍵值對(duì)集合。 MapReduce庫的用戶用兩個(gè)函數(shù)來表達(dá)這個(gè)計(jì)算: Map 和Reduce。 用戶自定義的map函數(shù)接收一個(gè)輸入的ke

5、y/value 對(duì),然后產(chǎn)生一個(gè)中間key/value 對(duì)的集合。 MapReduce 把所有具有相同key 值的value 集合在一起,然后傳遞給reduce 函數(shù)。用戶自定義的reduce 函數(shù)接收key 和相關(guān)的value 集合。 reduce 函數(shù)合并這些value 值,形成一個(gè)較小的value 集合。一般來說,每次reduce 函數(shù)調(diào)用只產(chǎn)生0 或1 個(gè)輸出的value值。通常我們通過一個(gè)迭代器把中間的value 值提供給reduce 函數(shù),這樣就可以處理無法全部放入內(nèi)存中的大量的value 值集合了。 8Hadoop與分布式開發(fā) 下圖是MapReduce 的數(shù)據(jù)流圖,這個(gè)過程簡而言

6、之就是將大數(shù)據(jù)集分解為成百上千個(gè)小數(shù)據(jù)集,每個(gè)(或若干個(gè))數(shù)據(jù)集分別由集群中的一個(gè)節(jié)點(diǎn)(一般就是一臺(tái)普通的計(jì)算機(jī))進(jìn)行處理并生成中間結(jié)果,然后這些中間結(jié)果又由大量的節(jié)點(diǎn)合并,形成最終結(jié)果。下圖中指出了MapReduce 框架下并行程序中的兩個(gè)主要函數(shù): map、 reduce。在這個(gè)結(jié)構(gòu)中,需要用戶完成的工作僅僅是根據(jù)任務(wù)編寫map和reduce 兩個(gè)函數(shù)。9Hadoop與分布式開發(fā) MapReduce 計(jì)算模型非常適合在大量計(jì)算機(jī)組成的大規(guī)模集群上并行運(yùn)行。每一個(gè) map 任務(wù)和每一個(gè)reduce 任務(wù)均可以同時(shí)運(yùn)行于一個(gè)單獨(dú)的計(jì)算節(jié)點(diǎn)上,可想而知,其運(yùn)算效率是很高的,那么這樣的并行計(jì)算是如何

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論