




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
大數(shù)據(jù)技術(shù)與應(yīng)用項(xiàng)目——MapReduce環(huán)境搭建原理
項(xiàng)目來自北京諾程佳華教育科技有限公司教學(xué)目標(biāo)熟悉MapReduce的環(huán)境搭建熟悉MapReduce的相關(guān)基本概念
MapReduce環(huán)境搭建定義
Mapreduce是一個(gè)計(jì)算框架,既然是做計(jì)算的框架,那么表現(xiàn)形式就是有個(gè)輸入(input),mapreduce操作這個(gè)輸入(input),通過本身定義好的計(jì)算模型,得到一個(gè)輸出(output),這個(gè)輸出就是我們所需要的結(jié)果。在運(yùn)行一個(gè)mapreduce計(jì)算任務(wù)時(shí)候,任務(wù)過程被分為兩個(gè)階段:map階段和reduce階段,每個(gè)階段都是用鍵值對(duì)(key/value)作為輸入(input)和輸出(output)。而程序員要做的就是定義好這兩個(gè)階段的函數(shù):map函數(shù)和reduce函數(shù)。MapReduce環(huán)境搭建流程
MapReduce環(huán)境搭建流程1)在客戶端啟動(dòng)一個(gè)作業(yè)。2)向JobTracker請求一個(gè)JobID。3)將運(yùn)行作業(yè)所需要的資源文件復(fù)制到HDFS上,包括MapReduce程序打包的JAR文件、配置文件和客戶端計(jì)算所得的輸入劃分信息。這些文件都存放在JobTracker專門為該作業(yè)創(chuàng)建的文件夾中。文件夾名為該作業(yè)的JobID。JAR文件默認(rèn)會(huì)有10個(gè)副本;輸入劃分信息告訴了JobTracker應(yīng)該為這個(gè)作業(yè)啟動(dòng)多少個(gè)map任務(wù)等信息。
MapReduce環(huán)境搭建流程4)JobTracker接收到作業(yè)后,將其放在一個(gè)作業(yè)隊(duì)列里,等待作業(yè)調(diào)度器對(duì)其進(jìn)行調(diào)度,當(dāng)作業(yè)調(diào)度器根據(jù)自己的調(diào)度算法調(diào)度到該作業(yè)時(shí),會(huì)根據(jù)輸入劃分信息為每個(gè)劃分創(chuàng)建一個(gè)map任務(wù),并將map任務(wù)分配給TaskTracker執(zhí)行。對(duì)于map和reduce任務(wù),TaskTracker根據(jù)主機(jī)核的數(shù)量和內(nèi)存的大小有固定數(shù)量的map槽和reduce槽。這里需要強(qiáng)調(diào)的是:map任務(wù)不是隨隨便便地分配給某個(gè)TaskTracker的,這里有個(gè)概念叫:數(shù)據(jù)本地化(Data-Local)。意思是:將map任務(wù)分配給含有該map處理的數(shù)據(jù)塊的TaskTracker上,同時(shí)將程序JAR包復(fù)制到該TaskTracker上來運(yùn)行,這叫“運(yùn)算移動(dòng),數(shù)據(jù)不移動(dòng)”。而分配reduce任務(wù)時(shí)并不考慮數(shù)據(jù)本地化。
MapReduce環(huán)境搭建流程5)TaskTracker每隔一段時(shí)間會(huì)給JobTracker發(fā)送一個(gè)心跳,告訴JobTracker它依然在運(yùn)行,同時(shí)心跳中還攜帶著很多的信息,比如當(dāng)前map任務(wù)完成的進(jìn)度等信息。當(dāng)JobTracker收到作業(yè)的最后一個(gè)任務(wù)完成信息時(shí),便把該作業(yè)設(shè)置成“成功”。當(dāng)JobClient查詢狀態(tài)時(shí),它將得知任務(wù)已完成,便顯示一條消息給用戶。MapReduce環(huán)境搭建流程MapReduce環(huán)境搭建流程Map端:1)每個(gè)輸入分片會(huì)讓一個(gè)map任務(wù)來處理,默認(rèn)情況下,以HDFS的一個(gè)塊的大?。J(rèn)為64M)為一個(gè)分片,當(dāng)然我們也可以設(shè)置塊的大小。map輸出的結(jié)果會(huì)暫且放在一個(gè)環(huán)形內(nèi)存緩沖區(qū)中,當(dāng)該緩沖區(qū)快要溢出時(shí),會(huì)在本地文件系統(tǒng)中創(chuàng)建一個(gè)溢出文件,將該緩沖區(qū)中的數(shù)據(jù)寫入這個(gè)文件。2)在寫入磁盤之前,線程首先根據(jù)reduce任務(wù)的數(shù)目將數(shù)據(jù)劃分為相同數(shù)目的分區(qū),也就是一個(gè)reduce任務(wù)對(duì)應(yīng)一個(gè)分區(qū)的數(shù)據(jù)。這樣做是為了避免有些reduce任務(wù)分配到大量數(shù)據(jù),而有些reduce任務(wù)卻分到很少數(shù)據(jù),甚至沒有分到數(shù)據(jù)的尷尬局面。其實(shí)分區(qū)就是對(duì)數(shù)據(jù)進(jìn)行hash的過程。然后對(duì)每個(gè)分區(qū)中的數(shù)據(jù)進(jìn)行排序,如果此時(shí)設(shè)置了Combiner,將排序后的結(jié)果進(jìn)行Combia操作,這樣做的目的是讓盡可能少的數(shù)據(jù)寫入到磁盤。3)當(dāng)map任務(wù)輸出最后一個(gè)記錄時(shí),可能會(huì)有很多的溢出文件,這時(shí)需要將這些文件合并。合并的過程中會(huì)不斷地進(jìn)行排序和combia操作,目的有兩個(gè):1.盡量減少每次寫入磁盤的數(shù)據(jù)量;2.盡量減少下一復(fù)制階段網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量。最后合并成了一個(gè)已分區(qū)且已排序的文件。4)將分區(qū)中的數(shù)據(jù)拷貝給相對(duì)應(yīng)的reduce任務(wù)。MapReduce環(huán)境搭建流程Reduce端:1)Reduce會(huì)接收到不同map任務(wù)傳來的數(shù)據(jù),并且每個(gè)map傳來的數(shù)據(jù)都是有序的。如果reduce端接受的數(shù)據(jù)量相當(dāng)小,則直接存儲(chǔ)在內(nèi)存中,如果數(shù)據(jù)量超過了該緩沖區(qū)大小的一定比例,則對(duì)數(shù)據(jù)合并后溢寫到磁盤中。2)隨著溢寫文件的增多,后臺(tái)線程會(huì)將它們合并成一個(gè)更大的有序的文件,這樣做是為了給后面的合并節(jié)省時(shí)間。其實(shí)不管在map端還是reduce端,MapReduce都是反復(fù)地執(zhí)行排序,合并操作。3)合并的過程中會(huì)產(chǎn)生許多的中間文件(寫入磁盤了),但MapReduce會(huì)讓寫入磁盤的數(shù)據(jù)盡可能地少,并且最后一次合并的結(jié)果并沒有寫入磁盤,而是直接輸入到reduceMapReduce環(huán)境搭建流程MapReduce程序執(zhí)行框架的2.0版本也叫YARN(YetAnotherResourceNegotiator)。YARN的守護(hù)進(jìn)程有以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)習(xí)動(dòng)力激發(fā)輔導(dǎo)考核試卷
- 舊貨零售店鋪選址與商圈分析考核試卷
- 拉丁語基礎(chǔ)與古羅馬文化考核試卷
- 智能材料設(shè)計(jì)與制造考核試卷
- 小學(xué)生經(jīng)典誦讀愛國課件
- 智能餐飲顧客服務(wù)系統(tǒng)考核試卷
- ehs之家安全培訓(xùn)課件
- 施工安全合同范本
- 城管部門采購合同范本
- 貨物拉運(yùn)合同范本
- 《瘋狂動(dòng)物城》全本臺(tái)詞中英文對(duì)照
- 建筑施工安全管理及揚(yáng)塵治理檢查投標(biāo)方案(技術(shù)方案)
- 六年級(jí)毛筆書法教案(下冊)
- 秘魯農(nóng)村公路
- 五年級(jí)下冊勞動(dòng)全冊教案人教版貴州人民出版社
- 吉利質(zhì)量協(xié)議
- 空調(diào)系統(tǒng)的應(yīng)急預(yù)案
- 2023玻纖增強(qiáng)聚氨酯門窗工程技術(shù)規(guī)程
- 急性化膿性中耳炎課件
- 食堂食品安全隱患排查報(bào)告
- 汽車維修廠車輛進(jìn)出廠登記制度
評(píng)論
0/150
提交評(píng)論