1、DataNode為每一個數(shù)據(jù)復(fù)制數(shù)據(jù)副本,保存在其它DataNode中。
2、NameNode文件系統(tǒng)的元數(shù)據(jù)全保存在RAM中,DataNode初始化和每隔1小時,向NameNode發(fā)送塊報告,以便NameNode掌握各個DataNode的運(yùn)行狀態(tài),并進(jìn)行DataNode的映照。
3、預(yù)寫日志。通過在edits中順序增加的方式減少I/O操作。
4、fsimage:NameNode啟動后,加載fsimage到RAM,引入edits變化。
5、Hadoop的新版本已實現(xiàn)周期性更換edits文件,提供事務(wù)ID進(jìn)行標(biāo)識,支持?jǐn)?shù)據(jù)回流。
1、DataNode為每一個數(shù)據(jù)復(fù)制數(shù)據(jù)副本,保存在其它DataNode中。
2、NameNode文件系統(tǒng)的元數(shù)據(jù)全保存在RAM中,DataNode初始化和每隔1小時,向NameNode發(fā)送塊報告,以便NameNode掌握各個DataNode的運(yùn)行狀態(tài),并進(jìn)行DataNode的映照。
3、預(yù)寫日志。通過在edits中順序增加的方式減少I/O操作。
4、fsimage:NameNode啟動后,加載fsimage到RAM,引入edits變化。
5、Hadoop的新版本已實現(xiàn)周期性更換edits文件,提供事務(wù)ID進(jìn)行標(biāo)識,支持?jǐn)?shù)據(jù)回流。
HDFS中的操作日志文件即WAL,寄存在edits中。
1、NameNode將改動內(nèi)容寫到edits。
2、edits會漸漸變大。
3、定期將edits加入fsimage
NameNode簡稱NN,Secondary NameNode簡稱SNN,為次NameNode。
1、次NameNode引導(dǎo)NameNode轉(zhuǎn)動更新edits文件,將更新內(nèi)容寫入edits.new中。
2、次NameNode將NameNode的fsimage和edits文件復(fù)制到本地檢查點目錄
3、次NameNode載入fsimage文件,將edits內(nèi)容合并到fsimage,將新的fsimage文件緊縮后寫入磁盤。
4、次NameNode將新的fsimage文件送回NameNode 。
5、NameNode接收新的fsimage文件后,直接加載使該文件生效。
6、NameNode將edits.new改回為edits。
7、到此為止,本次對fsimage的更新完成。edits為以后增加的新內(nèi)容,下次迭代時可繼續(xù)使用這些內(nèi)容。