4、数据合并

1)当数据文件达到一定个数,Hmaster触发合并操作,Region将数据块加载到本地,进行合并;

hbase.hregion.majorcompaction=604800000(7)

hbase.hstore.compactionThreshold=3

2)当合并的数据超过一定的大小,进行拆分,将拆分后的Region分配给不同的HregionServer管理;

3)同时将HregionServer上的hlog拆分,然后分配给不同的HregionServer加载,修改META表内容;

合并分为两种操作:

Minor Compaction:这种合并触发频率高,会把TTL数据(过期数据)删除,手动删除的数据并不 会删除。

MajorCompaction   合并Store中所有File,这时候,手动删除的,就是带墓碑标记的会被删除,还有超过MaxVersions的版本数据,性能消耗很大,可以手动控制。

合并多少File,有合并策略

0.96版本之后提出了ExploringCompactionPolicy算法, 并且把该
算法作为了默认算法。 该算法有以下的更新:
该文件 < (所有文件大小总和 - 该文件大小)*比例因子

如果该文件大小小于最小合并大小(minCompactSize) , 则连上面
那个公式都不需要套用, 直接进入待合并列表。 最小合并大小的配置
项: hbase.hstore.compaction.min.size。 如果没设定该配置项, 则使
用hbase.hregion.memstore.flush.size。
 

猜你喜欢

转载自blog.csdn.net/qq_42506914/article/details/88665322
今日推荐