清理MOB文件的线程
MOB表中的mob文件有时候也需要清理,当MOB文件满足如下条件时,需要对其进行清理。
- MOB文件中的数据已经过期无用,此时该MOB文件就可以被清理删除
- 若干个小的MOB文件被合并之后,老的MOB文件不再被任何region所引用,此时也可以被清理删除
针对MOB文件的清理,HBase提供了两个线程任务来执行,分别是RSMobFileCleanerChore
和MobFileCleanerChore
,两者的特点如下。
MobFileCleanerChore
- 调用者:HMaster服务调用执行
- 范围:针对整个HBase集群的MOB文件进行清理
- 清理对象: 创建时间超过TTL时间的MOB文件
RSMobFileCleanerChore
- 调用者: RegionServer
- 范围: 仅清理位于当前RegionServer上的Region所引用的MOB文件
- 清理对象:没有被任何region引用的MOB文件,属于被清理的对象