面試hadoop可能被問(wèn)到的問(wèn)題,你能回答出幾個(gè)_第1頁(yè)
已閱讀1頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1、hadoophadoop運(yùn)行的原理運(yùn)行的原理hadoop主要由三方面組成:1、HDFS2、MapReduce3、HbaseHadoop框架中最核心的設(shè)計(jì)就是:MapReduce和HDFS。MapReduce的思想是由Google的一篇論文所提及而被廣為流傳的,簡(jiǎn)單的一句話解釋MapReduce就是“任務(wù)的分解與結(jié)果的匯總”。HDFS是Hadoop分布式文件系統(tǒng)(HadoopDistributedFileSystem)的縮寫,為分布式

2、計(jì)算存儲(chǔ)提供了底層支持。MapReduce從它名字上來(lái)看就大致可以看出個(gè)緣由,兩個(gè)動(dòng)詞Map和Reduce,“Map(展開(kāi))”就是將一個(gè)任務(wù)分解成為多個(gè)任務(wù),“Reduce”就是將分解后多任務(wù)處理的結(jié)果匯總起來(lái),得出最后的分析結(jié)果。這不是什么新思想,其實(shí)在前面提到的多線程,多任務(wù)的設(shè)計(jì)就可以找到這種思想的影子。不論是現(xiàn)實(shí)社會(huì),還是在程序設(shè)計(jì)中,一項(xiàng)工作往往可以被拆分成為多個(gè)任務(wù),任務(wù)之間的關(guān)系可以分為兩種:一種是不相關(guān)的任務(wù),可以并行執(zhí)

3、行;另一種是任務(wù)之間有相互的依賴,先后順序不能夠顛倒,這類任務(wù)是無(wú)法并行處理的。回到大學(xué)時(shí)期,教授上課時(shí)讓大家去分析關(guān)鍵路徑,無(wú)非就是找最省時(shí)的任務(wù)分解執(zhí)行方式。在分布式系統(tǒng)中,機(jī)器集群就可以看作硬件資源池,將并行的任務(wù)拆分,然后交由每一個(gè)空閑機(jī)器資源去處理,能夠極大地提高計(jì)算效率,同時(shí)這種資源無(wú)關(guān)性,對(duì)于計(jì)算集群的擴(kuò)展無(wú)疑提供了最好的設(shè)計(jì)保證。(其實(shí)我一直認(rèn)為Hadoop的卡通圖標(biāo)不應(yīng)該是一個(gè)小象,應(yīng)該是螞蟻,分布式計(jì)算就好比螞蟻吃大

4、象,廉價(jià)的機(jī)器群可以匹敵任何高性能的計(jì)算機(jī),縱向擴(kuò)展的曲線始終敵不過(guò)橫向擴(kuò)展的斜線)。任務(wù)分解處理以后,那就需要將處理以后的結(jié)果再匯總起來(lái),這就是Reduce要做的工作。2、mapreducemapreduce的原理的原理Hadoop中的MapReduce是一個(gè)使用簡(jiǎn)易的軟件框架,基于它寫出來(lái)的應(yīng)用程序能夠運(yùn)行在由上千個(gè)商用機(jī)器組成的大型集群上,并以一種可靠容錯(cuò)的式并行處理上T級(jí)別的數(shù)據(jù)集。一個(gè)MapReduce作業(yè)(job)通常會(huì)把輸

5、入的數(shù)據(jù)集切分為若干獨(dú)立的數(shù)據(jù)塊,由map任務(wù)(task)以完全并行的方式處理它們。框架會(huì)對(duì)map的輸出先進(jìn)行排序,然后把結(jié)果輸入給reduce任務(wù)。通常作業(yè)的輸入和輸出都會(huì)被存儲(chǔ)在文件系統(tǒng)中。整個(gè)框架負(fù)責(zé)任務(wù)的調(diào)度和監(jiān)控,以及重新執(zhí)行已經(jīng)失敗的任務(wù)。通常,MapReduce框架和分布式文件系統(tǒng)是運(yùn)行在一組相同的節(jié)點(diǎn)上的,也就是說(shuō),計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)通常在一起。這種配置允許框架在那些已經(jīng)存好數(shù)據(jù)的節(jié)點(diǎn)上高效地調(diào)度任務(wù),這可以使整個(gè)集群的

6、網(wǎng)絡(luò)帶寬被非常高效地利用。MapReduce框架由一個(gè)單獨(dú)的masterJobTracker和每個(gè)集群節(jié)點(diǎn)一個(gè)slaveTaskTracker共同組成。master負(fù)責(zé)調(diào)度構(gòu)成一個(gè)作業(yè)的所有任務(wù),這些任務(wù)分布在不同的slave上,master監(jiān)控它們的執(zhí)行,重新執(zhí)行已經(jīng)失敗的任務(wù)。而slave僅負(fù)責(zé)執(zhí)行由master指派的任務(wù)map:(K1V1)→list(K2V2)combine:(K2list(V2))→list(K2V2)redu

7、ce:(K2list(V2))→list(K3V3)2、combiner還具有類似本地的reduce功能.例如hadoop自帶的wdcount的例子和找出value的最大值的程序,combiner和reduce完全一致。如下所示:map:(K1V1)→list(K2V2)combine:(K2list(V2))→list(K3V3)reduce:(K3list(V3))→list(K4V4)3、如果不用combiner,那么,所有的結(jié)果

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論