168大数据

标题: HFile和HLog的回收机制 [打印本页]

作者: 168主编    时间: 2017-5-22 17:01
标题: HFile和HLog的回收机制
正常回收流程
TimeToLive
为了防止系统错误删除HFile/HLog, HFile/HLog都有一个全局的过期时间(TTL), 超过这个过期时间的HFile/HLog才被删除. 这个过期时间可以通过hbase.master.logcleaner.ttl和hbase.master.hfilecleaner.ttl配置(单位是ms)
Replication
HBase的Replication是通过将主集群的HLog推送到备集群,然后在备集群上重放Hlog实现的, 因此如果在oldlog目录下的HLog还在被Replication推送完成,这些文件不能删除。
HMaster上的ReplicationLogCleaner通过zk负责记录Replication正在使用那些HLog。
当然需要注意的是一个hlog可能同时被多个不同peer的replication使用,只有当所有不同peer的replication都推送完成这个hlog的数据之后,这个hlog才能被删除。
SnapShot
标的Snapshot在单独的snapshot目录下,创建了表结构和HFile的引用。HMaster上SnapshotFileCache会定期扫描分布式文件系统上的snapshot目录,标记那些HFile现在被某个Snapshot引用。HMaster上的HFileCleaner在尝试删除HFile时候会通过SnapshotHFileCleaner检查HFile是否被引用,如果被引用就不能删除。
Region Split
当Region大小超过一定阈值时,Region会自动分裂成两个子Region. Region Split执行时间是秒级别的.






欢迎光临 168大数据 (http://www.bi168.cn/) Powered by Discuz! X3.2