分布式文件系統(tǒng)HDFS(工作原理2)_第1頁(yè)
分布式文件系統(tǒng)HDFS(工作原理2)_第2頁(yè)
分布式文件系統(tǒng)HDFS(工作原理2)_第3頁(yè)
分布式文件系統(tǒng)HDFS(工作原理2)_第4頁(yè)
分布式文件系統(tǒng)HDFS(工作原理2)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

分布式文件系統(tǒng)HDFS

2學(xué)習(xí)任務(wù)HDFS存儲(chǔ)原理數(shù)據(jù)存取策略數(shù)據(jù)錯(cuò)誤與恢復(fù)3HDFS存儲(chǔ)原理作為一個(gè)分布式文件系統(tǒng),為了保證系統(tǒng)的容錯(cuò)性和可用性,HDFS采用了多副本方式對(duì)數(shù)據(jù)進(jìn)行冗余存儲(chǔ),通常一個(gè)數(shù)據(jù)塊的多個(gè)副本會(huì)被分布到不同的數(shù)據(jù)節(jié)點(diǎn)上。如圖所示,數(shù)據(jù)塊1被分別存放到數(shù)據(jù)節(jié)點(diǎn)A和C上,數(shù)據(jù)塊2被存放在數(shù)據(jù)節(jié)點(diǎn)A和B上。4數(shù)據(jù)存取策略第一個(gè)副本:放置在上傳文件的數(shù)據(jù)節(jié)點(diǎn);如果是集群外提交,則隨機(jī)挑選一臺(tái)磁盤(pán)不太滿(mǎn)、CPU不太忙的節(jié)點(diǎn)。第二個(gè)副本:放置在與第一個(gè)副本不同的機(jī)架的節(jié)點(diǎn)上。第三個(gè)副本:與第一個(gè)副本相同機(jī)架的其他節(jié)點(diǎn)上。更多副本:隨機(jī)節(jié)點(diǎn)。5數(shù)據(jù)存取策略HDFS提供了一個(gè)API可以確定一個(gè)數(shù)據(jù)節(jié)點(diǎn)所屬的機(jī)架ID,客戶(hù)端也可以調(diào)用API獲取自己所屬的機(jī)架ID。當(dāng)客戶(hù)端讀取數(shù)據(jù)時(shí),從名稱(chēng)節(jié)點(diǎn)獲得數(shù)據(jù)塊不同副本的存放位置列表,列表中包含了副本所在的數(shù)據(jù)節(jié)點(diǎn),可以調(diào)用API來(lái)確定客戶(hù)端和這些數(shù)據(jù)節(jié)點(diǎn)所屬的機(jī)架ID,當(dāng)發(fā)現(xiàn)某個(gè)數(shù)據(jù)塊副本對(duì)應(yīng)的機(jī)架ID和客戶(hù)端對(duì)應(yīng)的機(jī)架ID相同時(shí),就優(yōu)先選擇該副本讀取數(shù)據(jù),如果沒(méi)有發(fā)現(xiàn),就隨機(jī)選擇一個(gè)副本讀取數(shù)據(jù)。6HDFS數(shù)據(jù)錯(cuò)誤與恢復(fù)名稱(chēng)節(jié)點(diǎn)出錯(cuò)名稱(chēng)節(jié)點(diǎn)保存了所有的元數(shù)據(jù)信息,其中,最核心的兩大數(shù)據(jù)結(jié)構(gòu)是FsImage和Editlog,如果這兩個(gè)文件發(fā)生損壞,那么整個(gè)HDFS實(shí)例將失效。因此,HDFS設(shè)置了備份機(jī)制,把這些核心文件同步復(fù)制到備份服務(wù)器SecondaryNameNode上。當(dāng)名稱(chēng)節(jié)點(diǎn)出錯(cuò)時(shí),就可以根據(jù)備份服務(wù)器SecondaryNameNode中的FsImage和Editlog數(shù)據(jù)進(jìn)行恢復(fù)。7HDFS數(shù)據(jù)錯(cuò)誤與恢復(fù)數(shù)據(jù)節(jié)點(diǎn)出錯(cuò)每個(gè)數(shù)據(jù)節(jié)點(diǎn)會(huì)定期向名稱(chēng)節(jié)點(diǎn)發(fā)送“心跳”信息,向名稱(chēng)節(jié)點(diǎn)報(bào)告自己的狀態(tài)。當(dāng)數(shù)據(jù)節(jié)點(diǎn)發(fā)生故障,或者網(wǎng)絡(luò)發(fā)生斷網(wǎng)時(shí),名稱(chēng)節(jié)點(diǎn)就無(wú)法收到來(lái)自一些數(shù)據(jù)節(jié)點(diǎn)的心跳信息,這時(shí),這些數(shù)據(jù)節(jié)點(diǎn)就會(huì)被標(biāo)記為“宕機(jī)”,節(jié)點(diǎn)上面的所有數(shù)據(jù)都會(huì)被標(biāo)記為“不可讀”,名稱(chēng)節(jié)點(diǎn)不會(huì)再給它們發(fā)送任何I/O請(qǐng)求。8HDFS數(shù)據(jù)錯(cuò)誤與恢復(fù)數(shù)據(jù)節(jié)點(diǎn)出錯(cuò)這時(shí),有可能出現(xiàn)一種情形,即由于一些數(shù)據(jù)節(jié)點(diǎn)的不可用,會(huì)導(dǎo)致一些數(shù)據(jù)塊的副本數(shù)量小于冗余因子。名稱(chēng)節(jié)點(diǎn)會(huì)定期檢查這種情況,一旦發(fā)現(xiàn)某個(gè)數(shù)據(jù)塊的副本數(shù)量小于冗余因子,就會(huì)啟動(dòng)數(shù)據(jù)冗余復(fù)制,為它生成新的副本。HDFS和其它分布式文件系統(tǒng)的最大區(qū)別就是可以調(diào)整冗余數(shù)據(jù)的位置。9HDFS數(shù)據(jù)錯(cuò)誤與恢復(fù)數(shù)據(jù)出錯(cuò)網(wǎng)絡(luò)傳輸和磁盤(pán)錯(cuò)誤等因素,都會(huì)造成數(shù)據(jù)錯(cuò)誤,客戶(hù)端在讀取到數(shù)據(jù)后,會(huì)采用md5和sha1對(duì)數(shù)據(jù)塊進(jìn)行校驗(yàn),以確定讀取到正確的數(shù)據(jù)。在文件被創(chuàng)建時(shí),客戶(hù)端就會(huì)對(duì)每一個(gè)文件塊進(jìn)行信息摘錄,并把這些信息寫(xiě)入到同一個(gè)路徑的隱藏文件里面。當(dāng)客戶(hù)端讀取文件的時(shí)候,會(huì)先讀取該信息文件,然后,利用該信息文件對(duì)每個(gè)讀取的數(shù)據(jù)塊進(jìn)行校驗(yàn),如果校驗(yàn)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論