欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂大數(shù)據(jù)培訓(xùn)之解析分布式計算框架Hadoop原理

2018-01-10 14:07:37 1508瀏覽

        今天扣丁學(xué)堂給大家整理一下關(guān)于分布式計算框架Hadoop原理的詳解,hadoop是Apache軟件基金會所開發(fā)的并行計算框架與分布式文件系統(tǒng)。下面我們一起來看一下吧。



       hadoop是Apache軟件基金會所開發(fā)的并行計算框架與分布式文件系統(tǒng)。最核心的模塊包括Hadoop Common、HDFS與MapReduce。HDFSHDFS是Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System)的縮寫,為分布式計算存儲提供了底層支持。采用Java語言開發(fā),可以部署在多種普通的廉價機(jī)器上,以集群處理數(shù)量積達(dá)到大型主機(jī)處理性能。HDFS 架構(gòu)原理HDFS采用master/slave架構(gòu)。一個HDFS集群包含一個單獨(dú)的NameNode和多個DataNode。NameNode作為master服務(wù),它負(fù)責(zé)管理文件系統(tǒng)的命名空間和客戶端對文件的訪問。NameNode會保存文件系統(tǒng)的具體信息,包括文件信息、文件被分割成具體block塊的信息、以及每一個block塊歸屬的DataNode的信息。對于整個集群來說,HDFS通過NameNode對用戶提供了一個單一的命名空間。DataNode作為slave服務(wù),在集群中可以存在多個。通常每一個DataNode都對應(yīng)于一個物理節(jié)點(diǎn)。DataNode負(fù)責(zé)管理節(jié)點(diǎn)上它們擁有的存儲,它將存儲劃分為多個block塊,管理block塊信息,同時周期性的將其所有的block塊信息發(fā)送給NameNode。下圖為HDFS系統(tǒng)架構(gòu)圖,主要有三個角色,Client、NameNode、DataNode。



       文件寫入時:Client向NameNode發(fā)起文件寫入的請求。NameNode根據(jù)文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。Client將文件劃分為多個block塊,并根據(jù)DataNode的地址信息,按順序?qū)懭氲矫恳粋€DataNode塊中。當(dāng)文件讀?。篊lient向NameNode發(fā)起文件讀取的請求。NameNode返回文件存儲的block塊信息、及其block塊所在DataNode的信息。Client讀取文件信息。HDFS 數(shù)據(jù)備份HDFS被設(shè)計成一個可以在大集群中、跨機(jī)器、可靠的存儲海量數(shù)據(jù)的框架。它將所有文件存儲成block塊組成的序列,除了最后一個block塊,所有的block塊大小都是一樣的。文件的所有block塊都會因為容錯而被復(fù)制。每個文件的block塊大小和容錯復(fù)制份數(shù)都是可配置的。容錯復(fù)制份數(shù)可以在文件創(chuàng)建時配置,后期也可以修改。HDFS中的文件默認(rèn)規(guī)則是write one(一次寫、多次讀)的,并且嚴(yán)格要求在任何時候只有一個writer。NameNode負(fù)責(zé)管理block塊的復(fù)制,它周期性地接收集群中所有DataNode的心跳數(shù)據(jù)包和Blockreport。心跳包表示DataNode正常工作,Blockreport描述了該DataNode上所有的block組成的列表。



       備份數(shù)據(jù)的存放:備份數(shù)據(jù)的存放是HDFS可靠性和性能的關(guān)鍵。HDFS采用一種稱為rack-aware的策略來決定備份數(shù)據(jù)的存放。通過一個稱為Rack Awareness的過程,NameNode決定每個DataNode所屬rack id。缺省情況下,一個block塊會有三個備份,一個在NameNode指定的DataNode上,一個在指定DataNode非同一rack的DataNode上,一個在指定DataNode同一rack的DataNode上。這種策略綜合考慮了同一rack失效、以及不同rack之間數(shù)據(jù)復(fù)制性能問題。副本的選擇:為了降低整體的帶寬消耗和讀取延時,HDFS會盡量讀取最近的副本。如果在同一個rack上有一個副本,那么就讀該副本。如果一個HDFS集群跨越多個數(shù)據(jù)中心,那么將首先嘗試讀本地數(shù)據(jù)中心的副本。安全模式:系統(tǒng)啟動后先進(jìn)入安全模式,此時系統(tǒng)中的內(nèi)容不允許修改和刪除,直到安全模式結(jié)束。安全模式主要是為了啟動檢查各個DataNode上數(shù)據(jù)塊的安全性。MapReduceMapReduce 來源MapReduce是由Google在一篇論文中提出并廣為流傳的。它最早是Google提出的一個軟件架構(gòu),用于大規(guī)模數(shù)據(jù)集群分布式運(yùn)算。任務(wù)的分解(Map)與結(jié)果的匯總(Reduce)是其主要思想。Map就是將一個任務(wù)分解成多個任務(wù),Reduce就是將分解后多任務(wù)分別處理,并將結(jié)果匯總為最終結(jié)果。熟悉Function Language的人一定感覺很熟悉,不是什么新的思想。MapReduce 處理流程


       上圖就是MapReduce大致的處理流程。在Map之前,可能還有對輸入數(shù)據(jù)的Split過程以保證任務(wù)并行效率,在Map之后可能還有Shuffle過程來提高Reduce的效率以及減小數(shù)據(jù)傳輸?shù)膲毫ΑadoopHadoop被定位為一個易于使用的平臺,以HDFS、MapReduce為基礎(chǔ),能夠運(yùn)行上千臺PCServer組成的系統(tǒng)集群,并以一種可靠、容錯的方式分布式處理請求。Hadoop 部署下圖顯示Hadoop部署結(jié)構(gòu)示意圖



       在Hadoop的系統(tǒng)中,會有一臺master,主要負(fù)責(zé)NameNode的工作以及JobTracker的工作。JobTracker的主要職責(zé)就是啟動、跟蹤和調(diào)度各個Slave的任務(wù)執(zhí)行。還會有多臺slave,每一臺slave通常具有DataNode的功能并負(fù)責(zé)TaskTracker的工作。TaskTracker根據(jù)應(yīng)用要求來結(jié)合本地數(shù)據(jù)執(zhí)行Map任務(wù)以及Reduce任務(wù)。Hadoop 處理流程在描述Hadoop處理流程之前,先提一個分布式計算最為重要的設(shè)計原則:Moving Computation is Cheaper than Moving Data。意思是指在分布式計算中,移動計算的代價總是低于移動數(shù)據(jù)的代價。本地計算使用本地數(shù)據(jù),然后匯總才能保證分布式計算的高效性。

        以上就是關(guān)于扣丁學(xué)堂大數(shù)據(jù)培訓(xùn)之解析分布式計算框架Hadoop原理的詳細(xì)介紹,最后想學(xué)大數(shù)據(jù)的朋友可以選擇扣丁學(xué)堂進(jìn)行學(xué)習(xí),扣丁學(xué)堂是在線大數(shù)據(jù)培訓(xùn)學(xué)習(xí),有老師全程教導(dǎo),既省時又省力??鄱W(xué)堂有大量的大數(shù)據(jù)視頻教程供學(xué)員觀看學(xué)習(xí),想要大數(shù)據(jù)視頻教程的小伙伴快聯(lián)系咨詢老師領(lǐng)取吧??鄱W(xué)堂大數(shù)據(jù)學(xué)習(xí)群:209080834。



扣丁學(xué)堂微信公眾號



【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】



查看更多關(guān)于大數(shù)據(jù)開發(fā)資訊的相關(guān)文章>>

標(biāo)簽: 大數(shù)據(jù)分析 大數(shù)據(jù)培訓(xùn) 大數(shù)據(jù)視頻教程 Hadoop視頻教程 大數(shù)據(jù)開發(fā)工程師

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部