当你对HBase的 表做 了snapshot后,此时该表的元数据以及相关的link文件都存储在snapshot中,之后,当你删除该表的数据,详情见HBase数据的删除和更新,那HBase数据被成功删除了,而,之前我们也对该表做了snapshot了。
问题来了:
删除的数据是不是也被删除了,如果被删除了,那做的snapshot如何恢复数据?
用户执行major_compact的时候,实际上会调用HStore中的archiveStoreFiles
archiveStoreFiles
创建archive路径,并将StoreFiles移动到archive
resolveAndArchive
当执行major compact,HBase会将过期的数据直接放到archive中。
后面再清理,具体见:HMaster 功能之定期清理archive
网友评论