Hbase_三大内部原理

2022-08-05  本文已影响0人  Eqo

Hbase三大内部原理

1.memstore flush

Flush操作就是将memstore内存当中的数据持久化到磁盘,也就是Hfire上,Flush后的文件都是小文件

自动Flush的阈值


2.StoreFile Compaction

hbase.hstore.compaction.min=3

hbase.hregion.compacting.memstore.type=None|basic|eager|adaptive

basic 基础型
不清除多余版本,适用于大数据量写模式
eager(饥渴型)
过滤重复的数据,清理多余的版本,这会带来额外的开销

adaptive(适应型)

adaptive compaction根据数据的重复情况来决定是否使用eager策略
找出cell个数最多的一个,然后计算一个比例,如果比例超出阈值,则使用eager策略,否则使用basic策略

工作当中 手动选择合并
在工作中要避免自动触发major compaction,影响业务,所以禁用自动进行major compaction。

hbase.hregion.majorcompaction=0


3.region split

当一个region内的数据量特别大的时候,region就会分裂成两个region

hbase.hregion.max.filesize=10GB
达到这个阈值后,region会分裂成两个5g的region

-0.94开始:如果region个数在0 ` 100之间
-2.x 开始 判断region的个数是否为1,为1安256m分 不唯一按照10gb分

create 'itcast:t6','cf1',SPLITS =>['a','b','c']
#这样建表 直接就有了4个分区  叫做预分区
#再结合rowkey的设计 把不同的数据存储在不同的region中  

工作当中建议手动操作

上一篇 下一篇

猜你喜欢

热点阅读