CGFT大數(shù)據(jù)原理中數(shù)據(jù)錯誤與恢復怎么去學習?HDFS具有較高的容錯性,可以兼容廉價的硬件,它把硬件出錯看成一種常態(tài),而不是異常,并設計了相應的機制檢測數(shù)據(jù)錯誤和進行自動恢復,主要包括以下幾種情形。
1.名稱節(jié)點出錯
名稱節(jié)點保存了所有的元數(shù)據(jù)信息,其中,*核心的兩大數(shù)據(jù)結構是Fslmage和Editlog,如果這兩個文件發(fā)生損壞,那么整個HDFS實例將失效。
當名稱節(jié)點出錯時,就可以根據(jù)備份服務器SecondaryNameNode中的Fslmage和Editlog數(shù)據(jù)進行恢復。
2.數(shù)據(jù)節(jié)點出錯
每個數(shù)據(jù)節(jié)點會定期向名稱節(jié)點發(fā)送“心跳”信息,向名稱節(jié)點報告自己的狀態(tài)。
當數(shù)據(jù)節(jié)點發(fā)生故障,或者網(wǎng)絡發(fā)生斷網(wǎng)時,名稱節(jié)點就無法收到來自一些數(shù)據(jù)節(jié)點的心跳信息,這時,這些數(shù)據(jù)節(jié)點就會被標記為“巖機”,節(jié)點上面的所有數(shù)據(jù)都會被標記為“不可讀”,名稱節(jié)點不會再給它們發(fā)送任何I/O請求。
3.數(shù)據(jù)出錯
網(wǎng)絡傳輸和磁盤錯誤等因素,都會造成數(shù)據(jù)錯誤??蛻舳嗽谧x取到數(shù)據(jù)后,會采用md5和shal對數(shù)據(jù)塊進行校驗,以確定讀取到正確的數(shù)據(jù)。
在文件被創(chuàng)建時,客戶端就會對每一個文件塊進行信息摘錄,并把這些信息寫入同一個路徑的隱藏文件里面。
