hbase优化之region合并和压缩

Posted 老冯谈BigData

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hbase优化之region合并和压缩相关的知识,希望对你有一定的参考价值。

HBASE操作:(一般先合并region然后再压缩)

一 、Region合并: merge_region   ‘regionname1‘,‘regionname2‘ ,‘true‘  --true代表强制合并,一般要加上

一般要是将小文件根据配置的最大上限进行合并,合并后最好清理一下hdfs

二、Region 压缩:

我们以test表为例:


我们先创建一张不含任何压缩格式的test表,并且向其导入10多G的数据
$ hadoop fs -du -h /hbase/data/default/    --查询region的文件大小
12.2 G /hbase/data/default/test


我们可以看到,在未压缩之前,test表的数据在hdfs上一共占用了12.2G的磁盘空间。
1. disable test表:


hbase> disable ‘test‘

修改压缩格式:

2. hbase> alter ‘test‘, NAME => ‘c‘, COMPRESSION => ‘snappy‘
需要注意的是,修改压缩格式时,必须一个列族一个列族的改。


3. enable test表:

hbase> enable ‘test‘

enable之后,还需要做一次大合并才能让压缩格式生效:

4.  hbase> major_compact ‘test‘
需要注意的是,千万不要在表繁忙期间执行大合并操作。
describe test表看一下有没有生效

 

还是很可观的大概可以减少原来两倍左右的空间占用

      

以上是关于hbase优化之region合并和压缩的主要内容,如果未能解决你的问题,请参考以下文章

深入Hbase原理(超详细)

HBase的region管理

Hbase的region合并与拆分详解

Hbase合并Region的过程中出现永久RIT的解决

HBase优化之预分区

Spark 读取 Hbase 优化 --手动划分 region 提高并行数