首先hbase从memstore刷新到磁盘,大小会减小很多,128m的menstore刷写到磁盘只有4-5m
下面是必须要知道的几个关键参数
cdh5.8版本
HStore 压缩阈值
hbase.hstore.compaction.min :默认值为 3,表示至少需要三个满足条件的store file时,minor compaction才会启动
hbase.hstore.compaction.max (cdh中此项没有数值)默认值为10,表示一次minor compaction中最多选取10个store file
hbase.hstore.compaction.min.size 表示文件大小小于该值的store file 一定会加入到minor compaction的store file中
hbase.hstore.compaction.max.size 表示文件大小大于该值的store file 一定会被minor compaction排除
hbase.hstore.compaction.ratio 将store file 按照文件年龄排序(older to younger),minor compaction总是从older store file开始选择,如果该文件的size 小于它后面hbase.hstore.compaction.max 个store file size 之和乘以 该ratio,则该store file 也将加入到minor compaction 中。
总结下就是说不是有三个storefile就会触发合并,会按照几个配置项进行计算,符合要求的到了hbase.hstore.compaction.min个才会进行合并,怎么算符合要求,上面已经说的很清楚了