大數(shù)據(jù)處理平臺和技術(shù)2數(shù)據(jù)文件系統(tǒng)_第1頁
大數(shù)據(jù)處理平臺和技術(shù)2數(shù)據(jù)文件系統(tǒng)_第2頁
大數(shù)據(jù)處理平臺和技術(shù)2數(shù)據(jù)文件系統(tǒng)_第3頁
大數(shù)據(jù)處理平臺和技術(shù)2數(shù)據(jù)文件系統(tǒng)_第4頁
大數(shù)據(jù)處理平臺和技術(shù)2數(shù)據(jù)文件系統(tǒng)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章 HDFSHDFS大數(shù)據(jù)文件系統(tǒng)1第二章 HDFS1.HDFS概述2.HDFS基本構(gòu)架與數(shù)據(jù)分布3.HDFS可靠性的設(shè)計實現(xiàn)4.HDFS文件操作2(1)HDFS概述 HDFS = Hadoop Distributed File System HDFS是一個使用JAVA實現(xiàn)的、分布式的、可橫向擴展的文件系統(tǒng) 是Hadoop的組件 基于*nix3什么是分布式文件系統(tǒng)?物理層是分布式基于客戶機/服務(wù)器模式 通常一個分布式文件系統(tǒng)提供多個供用戶一般都會提供備份和容錯的功能一般都基于操作系統(tǒng)的本地文件系統(tǒng)的服務(wù)器- ext3,ext4- NTFS4為什么需要分布式文件系統(tǒng)?傳統(tǒng)文件系統(tǒng)最大的問題是

2、容量和吞吐量的限制多用戶多應(yīng)用的并行讀寫是分布式文件系統(tǒng)產(chǎn)生的根源一塊硬盤的讀寫性能,比不上多塊硬盤同時讀寫的性能 1 HDD=75MB/sec 1000 HDDs = 75GB/sec擴充空間的成本低廉,可以為分布式計算提供基礎(chǔ)5(2)HDFS的設(shè)計目標(biāo)硬件錯誤是常態(tài) 錯誤檢測并快速自動恢復(fù)是HDFS的最流式數(shù)據(jù) HDFS適合用于處理批量,而不適合隨機大規(guī)模的數(shù)據(jù)集設(shè)計目標(biāo)HDFS適合大量量可以達(dá)到的PB、EB級,總HDFS適合大文件,單個文件一般在百MB級以上文件數(shù)目適中 簡單的一致模型簡單的一致模型 HDFS的應(yīng)用程序需要對文件實行 不能修改已寫入的數(shù)據(jù)寫、多次讀的模式程序采用“數(shù)據(jù)就近

3、”原則分配節(jié)點執(zhí)行 移動計算比移動數(shù)據(jù)的代價要低6HDFS適合做什么?并管理PB級數(shù)據(jù)處理非結(jié)構(gòu)化數(shù)據(jù)注重數(shù)據(jù)處理的吞吐量(對延遲不敏感)write-once-read-many存取模式7HDFS不適合做什么?小文件 (不建議使用)大量的隨機讀 (不建議使用)需要對文件的修改 (不支持)8思考題思考 10PB 級別數(shù)據(jù)如何?在2008年,谷歌每天處理的數(shù)據(jù)已經(jīng)達(dá)到20 PB,一年就是7300 PB館“在2011年4月前已經(jīng)收集了235TB的數(shù)美國國會據(jù),而一個PB相當(dāng)于它的4倍!9第二章 HDFS1.HDFS概述2.HDFS基本構(gòu)架與數(shù)據(jù)分布3.HDFS可靠性的設(shè)計實現(xiàn)4.HDFS文件操作10

4、(1) HDFS基本構(gòu)架一個HDFS文件系統(tǒng)包括一個主控節(jié)點NameNode和一組DataNode從節(jié)點HDFS NameNode應(yīng)用程序文件名或數(shù)據(jù)塊號HDFS客戶端數(shù)據(jù)塊號,數(shù)據(jù)塊位置DataNode數(shù)據(jù)DataNode數(shù)據(jù)DataNode數(shù)據(jù)HDFS文件架構(gòu)12(2)HDFS文件分布式13舉例: HDFS文件分布式14Block的副本放置策略第1個副本:放置在上傳文件的DN;如果是集群外提交,則隨機挑選一臺磁盤不太滿,CPU不太忙的節(jié)點第2個副本:放置在于第一個副本不同的機架的節(jié)點上第3個副本:與第二個副本相同集群的節(jié)點副本:隨機節(jié)點15(3) HDFS設(shè)計目標(biāo)假設(shè):節(jié)點失效是常態(tài)wri

5、te-once-read-many存取模式不支持文件并發(fā)寫入不支持文件修改理想: 1. 任何一個節(jié)點失效,不影響HDFS服務(wù) 2. HDFS可以自動完成副本的16(4)HDFS主要組件的功能17HDFS文件文件切分成塊(默認(rèn)大小64M),以塊為,每個塊有多個副本在不同的上,副本數(shù)可在文件生成時指定(默認(rèn)3)NameNode是主節(jié)點,文件的元數(shù)據(jù)如文件名,文件目錄結(jié)構(gòu),文件屬性(生成時間,副本數(shù),文件權(quán)限),以及每個文件的塊列表以及塊所在的DataNode等等DataNode在本地文件系統(tǒng)的校驗文件塊數(shù)據(jù),以及塊數(shù)據(jù)18NameNode節(jié)點Namenode是一個中心服務(wù)器,單一節(jié)點,負(fù)責(zé)管理文件

6、系統(tǒng)的名字空間(namespace)以及客戶端對文件的文件操作,NameNode負(fù)責(zé)文件元數(shù)據(jù)的操作,DataNode負(fù)責(zé)處理文件內(nèi)容的讀寫請求,數(shù)據(jù)流不經(jīng)過NameNode,只會詢問它跟那個DataNode副本存放在那些DataNode上由NameNode來,根據(jù)全局情況做出文件時NameNode盡量讓用戶先時延塊放置決定,降低塊消耗和最近的副本,Namenode全權(quán)管理數(shù)據(jù)塊的,它周期性地從集群中的每個Datanode接收心跳信號和塊狀態(tài)報告(Blockreport)。接收到心跳信號意味著該Datanode節(jié)點工作正常。塊狀態(tài)報告包含了一個該Datanode上所有數(shù)據(jù)塊的列表19NameN

7、ode(NN) 節(jié)點MetaData物理結(jié)構(gòu)塊結(jié)構(gòu)20DataNode節(jié)點一個數(shù)據(jù)塊在DataNode以文件在磁盤上,包括兩個文件,一個是數(shù)據(jù)本身,一個是元數(shù)據(jù)包括數(shù)據(jù)塊的長度,塊數(shù)據(jù)的校驗和,以及時間戳DataNode啟動后向NameNodeNameNode上報所有的塊信息。,通過后,周期性(1小時)的向心跳是每3秒一次,心跳返回結(jié)果帶有NameNode給該DataNode令如塊數(shù)據(jù)到另一臺,或刪除某個數(shù)據(jù)塊。如果超過10分鐘沒有收到某個DataNode 的心跳,則認(rèn)為該節(jié)點不可用。集群運行中可以安全加入和一些21DataNode(DN)節(jié)點保存Block啟動DN線程的時候會向NN匯報blo

8、ck信息通過向NN心跳保持與其(3秒一次),如果NN 10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN22Secondary Namenode通過檢查點(Checkpoint)更新映像文件,SecondaryNamanode輔助完成處理23(5)HDFS數(shù)據(jù)過程24HDFS數(shù)據(jù)寫入過程(3)25第二章 HDFS1.HDFS概述2.HDFS基本構(gòu)架與數(shù)據(jù)分布3.HDFS可靠性的設(shè)計實現(xiàn)4.HDFS文件操作26HDFS可靠性的設(shè)計實現(xiàn)安全模式 剛啟動的時候,等待每一個DataNode報告情況,安全模式的時候才進(jìn)行副本操作SecondaryNameNode Na

9、meNode失效怎么辦? 用來備份NameNode的元數(shù)據(jù),以便在NameNode失效時能從SecondaryNameNode恢復(fù)出NameNode上的元數(shù)據(jù)心跳副本重新創(chuàng)建 一個DataNode了怎么辦? Hearbeat和副本重建27HDFS可靠性的設(shè)計實現(xiàn)數(shù)據(jù)一致性 網(wǎng)絡(luò)傳輸中,數(shù)據(jù)改變了怎么辦? 數(shù)據(jù)校驗和CheckSum機制租約多個用戶同時寫一個文件怎么辦?NameNode租約給客戶端版本升級出錯了怎么辦?到前一個版本28第二章 HDFS1.HDFS概述2.HDFS基本構(gòu)架與數(shù)據(jù)分布3.HDFS可靠性的設(shè)計實現(xiàn)4.HDFS文件操作29HDFS文件操作命令行方式API方式30HDFS文

10、件操作使用hadoop dfs命令對HDFS進(jìn)行操作$ hadoop dfs -ls注意,hadoop沒有當(dāng)前目錄的概念,也沒有cd命令在HDFS創(chuàng)建目錄 $ hadoop dfs -mkdir ./test1上傳文件到HDFS使用hadoop dfs -put命令對HDFS進(jìn)行上傳操作$ hadoop dfs -put os_filename hadoop_filename在Master上在Slave上32將HDFS的文件到本地使用hadoop dfs -get命令HDFS文件$ hadoop dfs -get hadoop_filename os_filename使用hadoop dfs

11、-cat命令對HDFS文件進(jìn)行查看33刪除HDFS下的文檔使用hadoop dfs -rmr命令對HDFS文件進(jìn)行刪除$ hadoop dfs -rmr hadoop_filename34查看HDFS基本統(tǒng)計信息使用hadoop dfsadmin命令管理HDFS$ hadoop dfsadmin -report35進(jìn)入和安全模式手工進(jìn)入安全模式進(jìn)行安全塊的檢查使用hadoop dfsadmin safemode進(jìn)入和安全模式$ hadoop dfsadmin -safemode -enter$ hadoop dfsadmin -safemode leave36怎樣添加節(jié)點?在新節(jié)點安裝好had

12、oop把namenode的有關(guān)配置文件到該節(jié)點修改masters和slaves文件,增加該節(jié)點設(shè)置ssh免進(jìn)出該節(jié)點單獨啟動該節(jié)點上的datanode和tasktracker(hadoop-daemon.sh start datanode/tasktracker)運行start-balancer.sh進(jìn)行數(shù)據(jù)負(fù)載均衡37啟動某些特定進(jìn)程而非所有進(jìn)程start-all.sh的內(nèi)容38負(fù)載均衡作用:當(dāng)節(jié)點出現(xiàn)故障或新增節(jié)點時,數(shù)據(jù)塊分布可能不均勻,負(fù)載均衡可以重新平衡各個datanode上數(shù)據(jù)塊 的分布39使用Hadoop歸檔文件Hadoop歸檔文件和HAR文件是可以將文件高效地放入HDFS塊中的文件存檔設(shè)備減少NameNode內(nèi)存使用,同時仍然對文件進(jìn)行透明通過archive命令工具根據(jù)文件集合創(chuàng)建, 例如: $ hadoop archive archiveName fil

溫馨提示

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

最新文檔

評論

0/150

提交評論