當(dāng)你對(duì)HBase的 表做 了snapshot后,此時(shí)該表的元數(shù)據(jù)以及相關(guān)的link文件都存儲(chǔ)在snapshot中,之后,當(dāng)你刪除該表的數(shù)據(jù),詳情見(jiàn)HBase數(shù)據(jù)的刪除和更新,那HBase數(shù)據(jù)被成功刪除了,而,之前我們也對(duì)該表做了snapshot了。
問(wèn)題來(lái)了:
刪除的數(shù)據(jù)是不是也被刪除了,如果被刪除了,那做的snapshot如何恢復(fù)數(shù)據(jù)?
用戶(hù)執(zhí)行major_compact的時(shí)候,實(shí)際上會(huì)調(diào)用HStore中的archiveStoreFiles

archiveStoreFiles
創(chuàng)建archive路徑,并將StoreFiles移動(dòng)到archive

resolveAndArchive
當(dāng)執(zhí)行major compact,HBase會(huì)將過(guò)期的數(shù)據(jù)直接放到archive中。
后面再清理,具體見(jiàn):HMaster 功能之定期清理archive