HDFS原理和體系結(jié)構(gòu)_第1頁(yè)
HDFS原理和體系結(jié)構(gòu)_第2頁(yè)
HDFS原理和體系結(jié)構(gòu)_第3頁(yè)
HDFS原理和體系結(jié)構(gòu)_第4頁(yè)
HDFS原理和體系結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

HDFS產(chǎn)生背景數(shù)據(jù)量巨大隨著數(shù)據(jù)量越來越大,在一個(gè)操作系統(tǒng)管轄的范圍存不下了,那么就分配到更多的操作系統(tǒng)管理的磁盤中,但是不方便管理和維護(hù),迫切需要一種系統(tǒng)來管理多臺(tái)機(jī)器上的文件,這就是分布式文件管理系統(tǒng)。分布式文件系統(tǒng)分布式文件系統(tǒng)是一種允許文件通過網(wǎng)絡(luò)在多臺(tái)主機(jī)上分享的文件的系統(tǒng),可讓多機(jī)器上的多用戶分享文件和存儲(chǔ)空間。分布式文件管理系統(tǒng)很多,hdfsHDFS只是其中一種。適用于一次寫入、多次查詢的情況,不支持并發(fā)寫情況,小文件不合適。因?yàn)樾∥募舱加靡粋€(gè)塊,小文件越多(1000個(gè)1k文件)塊越多,NameNode壓力越大。海量數(shù)據(jù)元化數(shù)據(jù)塊磁盤塊磁盤塊磁盤塊磁盤塊標(biāo)記后什么是HDFS

HDFS是Hadoop使用的標(biāo)準(zhǔn)存儲(chǔ)系統(tǒng),是基于網(wǎng)絡(luò)環(huán)境下的分布式文件系統(tǒng)。它是基于流數(shù)據(jù)模式訪問和處理超大文件的需求開發(fā)的,可以運(yùn)行于廉價(jià)的商用服務(wù)器上。實(shí)際上,這并不是什么新穎的事情,80年代左右就已經(jīng)有人這么去實(shí)現(xiàn)了?;诹鲾?shù)據(jù)模式訪問高容錯(cuò)、高吞吐

它所具有的高容錯(cuò)、高可靠性、高可擴(kuò)展性、高獲得性、高吞吐率等特征為海量數(shù)據(jù)提供了不怕故障的存儲(chǔ),為超大數(shù)據(jù)集(LargeDataSet)的應(yīng)用處理帶來了很多便利。數(shù)據(jù)分塊,多副本

存儲(chǔ)在HDFS上的數(shù)據(jù)文件首先進(jìn)行分塊,每個(gè)分塊創(chuàng)建多個(gè)副本,并存儲(chǔ)在集群的不同節(jié)點(diǎn)上,HadoopMapReduce程序可以在所有節(jié)點(diǎn)上處理這些數(shù)據(jù)。HDFS特點(diǎn)HDFS設(shè)計(jì)目標(biāo)大文件存儲(chǔ):支持TB-PB級(jí)的數(shù)據(jù)量高容錯(cuò):運(yùn)行在商業(yè)硬件上,而商業(yè)硬件并不可靠高吞吐量:為大量數(shù)據(jù)訪問的應(yīng)用提供高吞吐量支持簡(jiǎn)單一致性模型(一次寫,多次讀)大規(guī)模數(shù)據(jù)集

典型文件大小GB-TB級(jí)別關(guān)注橫向現(xiàn)行擴(kuò)展流式數(shù)據(jù)訪問批量讀而非隨機(jī)讀關(guān)注吞吐量而非相應(yīng)時(shí)間

適應(yīng)場(chǎng)景大文件訪問流式數(shù)據(jù)訪問不適合的場(chǎng)景存儲(chǔ)大量小文件隨機(jī)讀取,低延遲讀取硬件錯(cuò)誤是常態(tài)副本冗余機(jī)制HDFS設(shè)計(jì)理念HDFS特點(diǎn)高容錯(cuò)性數(shù)據(jù)自動(dòng)保存多個(gè)副本。某一個(gè)副本丟失以后,它可以自動(dòng)恢復(fù)HDFS內(nèi)部機(jī)制實(shí)現(xiàn)的適合批處理通過移動(dòng)計(jì)算而不是移動(dòng)數(shù)據(jù)。會(huì)把數(shù)據(jù)位置暴露給計(jì)算框架。適合大數(shù)據(jù)處理處理數(shù)據(jù)達(dá)到GB、TB、甚至PB級(jí)別的數(shù)據(jù)。能夠處理百萬(wàn)規(guī)模以上的文件數(shù)量,數(shù)量相當(dāng)之大。能夠處理10K節(jié)點(diǎn)的規(guī)模。它能保證數(shù)據(jù)的一致性。不適合低延時(shí)數(shù)據(jù)訪問場(chǎng)景比如毫秒級(jí)以內(nèi)讀取數(shù)據(jù),對(duì)HDFS存儲(chǔ)來說很難做到的。不適合存儲(chǔ)大量小文件占用NameNode大量的內(nèi)存來存儲(chǔ)文件、目錄和塊信息違反HDFS的設(shè)計(jì)目標(biāo)。不支持并發(fā)寫入文件只能有一個(gè)寫,不允許多個(gè)線程同時(shí)寫。不支持隨機(jī)修改文件僅支持?jǐn)?shù)據(jù)append(追加),不支持文件的隨機(jī)修改。3HDFS新功能和特性4HDFS實(shí)驗(yàn)2HDFS原理和體系架構(gòu)1HDFS簡(jiǎn)介目錄HDFS架構(gòu)HDFS

采用Master/Slave的架構(gòu),主要由四個(gè)部分組成。HDFS

Client文件切分;與NameNode交互,獲取文件的位置信息;與DataNode交互,讀取或者寫入數(shù)據(jù);Client提供一些命令來管理HDFSNameNode作為master管理HDFS的名稱空間管理數(shù)據(jù)塊(Block)映射信息配置副本策略處理客戶端讀寫請(qǐng)求。DataNode作為Slave存儲(chǔ)實(shí)際的數(shù)據(jù)塊執(zhí)行數(shù)據(jù)塊的讀/寫操作SecondaryNameNode輔助NameNode定期合并fsimage和fsedits,并推送NameNode在緊急情況下,可輔助恢復(fù)NameNode文件包括:

fsimage(文件系統(tǒng)鏡像):元數(shù)據(jù)鏡像文件。存儲(chǔ)某一時(shí)段NameNode內(nèi)存元數(shù)據(jù)信息。

edits:操作日志文件。fstime:保存最近一次checkpoint的時(shí)間是整個(gè)文件系統(tǒng)的管理節(jié)點(diǎn)。它維護(hù)著整個(gè)文件系統(tǒng)的文件目錄樹,文件/目錄的元信息和每個(gè)文件對(duì)應(yīng)的數(shù)據(jù)塊列表。文件操作,NameNode負(fù)責(zé)文件元數(shù)據(jù)的操作,DataNode負(fù)責(zé)處理文件內(nèi)容的讀寫請(qǐng)求,數(shù)據(jù)流不經(jīng)過NameNode,只會(huì)詢問它跟哪個(gè)DataNode聯(lián)系。NameNodeDatanode是文件系統(tǒng)的工作節(jié)點(diǎn)根據(jù)客戶端或者是namenode的調(diào)度存儲(chǔ)和檢索數(shù)據(jù),并且定期向namenode發(fā)送他們所存儲(chǔ)的塊(block)的列表。集群中的每個(gè)服務(wù)器都運(yùn)行一個(gè)DataNode后臺(tái)程序,負(fù)責(zé)把HDFS數(shù)據(jù)塊讀寫到本地的文件系統(tǒng)。當(dāng)需要通過客戶端讀/寫某個(gè)數(shù)據(jù)時(shí),先由NameNode告訴客戶端去哪個(gè)DataNode進(jìn)行具體的讀/寫操作,然后,客戶端直接與這個(gè)DataNode服務(wù)器上的后臺(tái)程序進(jìn)行通信,并且對(duì)相關(guān)的數(shù)據(jù)塊進(jìn)行讀/寫操作。

DataNodeSecondaryNameNodeSecondaryNameNode作用1、對(duì)HDFS元數(shù)據(jù)的冷備份,預(yù)防NameNode出現(xiàn)故障丟失數(shù)據(jù)。2、解決EditLog增大的問題。

SecondaryNameNode的處理,是將fsimage和edits文件周期的合并,不會(huì)造成NameNode重啟時(shí)造成長(zhǎng)時(shí)間不可訪問的情況。HDFS數(shù)據(jù)寫入流程解析HDFS數(shù)據(jù)讀取流程解析HDFS可靠性所有數(shù)據(jù)塊都有副本可以在hdfs-site.xml中設(shè)置復(fù)制因子指定副本數(shù)量DataNode啟動(dòng)時(shí),遍歷本地文件系統(tǒng),產(chǎn)生一份hdfs數(shù)據(jù)塊和本地文件的對(duì)應(yīng)關(guān)系列表(blockport)匯報(bào)給namenode副本冗余HDFS可靠性集群一般放在不同機(jī)架上,機(jī)架間帶寬要比機(jī)架內(nèi)帶寬要??;HDFS具有“機(jī)架感知”能力,它能自動(dòng)實(shí)現(xiàn)在本機(jī)架上存放一個(gè)副本,然后在其它機(jī)架再存放另一副本,可以防止機(jī)架失效時(shí)數(shù)據(jù)丟失,同時(shí)提高帶寬利用率。機(jī)架策略Namenode周期性從datanode接收心跳信號(hào)和塊報(bào)告Namenode根據(jù)塊報(bào)告驗(yàn)證元數(shù)據(jù)心跳機(jī)制HDFS可靠性HDFS可靠性Namenode啟動(dòng)時(shí)會(huì)先經(jīng)過一個(gè)“安全模式”階段,安全模式階段不會(huì)產(chǎn)生數(shù)據(jù)寫;在安全模式階段Namenode收集各個(gè)datanode的報(bào)告,當(dāng)數(shù)據(jù)塊達(dá)到最小副本數(shù)以上時(shí),會(huì)被認(rèn)為是“安全”的;在一定比例(可設(shè)置)的數(shù)據(jù)塊被確定為“安全”后,再過若干時(shí)間,安全模式結(jié)束;當(dāng)檢測(cè)到副本數(shù)不足的數(shù)據(jù)塊時(shí),該塊會(huì)被復(fù)制直到達(dá)到最小副本數(shù)。安全模式HDFS可靠性在文件建立時(shí),每個(gè)數(shù)據(jù)塊都產(chǎn)生校驗(yàn)和,校驗(yàn)和保存在.meta文件內(nèi);客戶端獲取數(shù)據(jù)時(shí)可以檢查校驗(yàn)和是否相同,從而發(fā)現(xiàn)數(shù)據(jù)塊是否損壞;如果正在讀取的數(shù)據(jù)塊損壞,則可以繼續(xù)讀取其它副本。校驗(yàn)和HDFS可靠性刪除文件時(shí),文件放入回收站/trash,回收站里的文件可以快速恢復(fù);通過設(shè)置一個(gè)時(shí)間閾值,當(dāng)回收站里文件的存放時(shí)間超過這個(gè)閾值,就被徹底刪除,并且釋放占用的數(shù)據(jù)塊?;厥照?trashfiles超過周期HDFS可靠性映像文件和事務(wù)日志是Namenode的核心數(shù)據(jù),可以配置為擁有多個(gè)副本;副本會(huì)降低Namenode的處理速度,但增加安全性。元數(shù)據(jù)保護(hù)快照機(jī)制支持存儲(chǔ)某個(gè)時(shí)間點(diǎn)的映像,需要時(shí)可以使數(shù)據(jù)重返這個(gè)時(shí)間點(diǎn)的狀態(tài);3HDFS新功能和特性4HDFS實(shí)驗(yàn)2HDFS原理和體系架構(gòu)1HDFS簡(jiǎn)介目錄HDFS新功能和特性

Erasurecoding糾刪碼技術(shù)簡(jiǎn)稱EC;通過在原始數(shù)據(jù)中加入新的校驗(yàn)數(shù)據(jù),使得各個(gè)部分的數(shù)據(jù)產(chǎn)生關(guān)聯(lián)性.在一定范圍的數(shù)據(jù)出錯(cuò)情況下,通過糾刪碼技術(shù)都可以進(jìn)行恢復(fù);EC技術(shù)可以防止數(shù)據(jù)丟失,又可以解決HDFS存儲(chǔ)空間翻倍的問題;創(chuàng)建文件時(shí),將從最近的祖先目錄繼承EC策略,以確定其塊如何存儲(chǔ)。與3路復(fù)制相比,默認(rèn)的EC策略可以節(jié)省50%的存儲(chǔ)空間,同時(shí)還可以承受更多的存儲(chǔ)故障。支持HDFS中的擦除編碼ErasureEncoding基于HDFS路由器的聯(lián)合HDFS基于路由器的聯(lián)合會(huì)添加一個(gè)RPC路由層,提供多個(gè)HDFS命名空間的聯(lián)合視圖。簡(jiǎn)化了對(duì)現(xiàn)有HDFS客戶端的聯(lián)合集群的訪問。HDFS新功能和特性支持多個(gè)NameNode允許用戶運(yùn)行多個(gè)備用NameNode;一個(gè)NameNode是Active,其它為Standby;StandbyNN會(huì)不斷與JN同步,保證自己獲取最新的editlog,并將edits同步到自己維護(hù)的image中去,這樣便可以實(shí)現(xiàn)熱備,在發(fā)生failover的時(shí)候,立馬切換成active狀態(tài),對(duì)外提供服務(wù);JN只允

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論