[Hbase]Hbase章4 Hbase分区爆了

又搞事了,发生了啥事呢;生产分区数暴了,What?

目前的情况:

前提:单Region Server分区上限设置为1000;

目前A表的数据量半年达到25E,20G一分区,达到了900多个分区,这是要搞事情呀,咋办:

查了下原因:这个表居然没有开启压缩,这是。。。

果断在大晚上对表进行变更:开启Snappy压缩;

手动触发Major_compact;压缩效果相当可观,压到了20%,哄哄呀。。。

几点题外话:

1. HBase 中没有update的概念,所有delete操作、put操作都是append操作
2. 所有数据删除(delete、TTL过期、超过version)都是在major_compact时候执行的(TTL可以设置数据过期时间;Versoin可以控制保住的版本数量量)

3.通过开启Snappy压缩,企业可以极大地节省磁盘存储成本,尤其是当企业采用SSD存储时,节省的成本将会更多

资料:

compact分为两类,一类叫Minor compact ,一类叫Major compact,
两者有什么区别呢?
两者的区别在于:Minor compact只是进行文件merge操作,而Major compact除了做文件Merge操作,还会将其中的delete项删除

触发major compaction的可能条件有:major_compact 命令、majorCompact() API、region server自动运行(相关参数:hbase.hregion.majoucompaction 默认为24 小时、hbase.hregion.majorcompaction.jetter 默认值为0.2 防止region server 在同一时间进行major compaction)。hbase.hregion.majorcompaction.jetter参数的作用是:对参数hbase.hregion.majoucompaction 规定的值起到浮动的作用,假如两个参数都为默认值24和0,2,那么major compact最终使用的数值为:19.2~28.8 这个范围

猜你喜欢

转载自www.cnblogs.com/szss/p/10730403.html