Region的拆分
随着大合并的增多,一个region越来越大,造成数据的存储不平衡,访问速度也会变慢。
- 所以,当region达到一定大小(0.94版本默认10G,视具体策略而定),region会先下线,一分为二,分为两个region,R1,R2.
- Hmaster会将R2迁移到其他的regionserver中。底层的Hfile指向新的region2
- 更新元数据信息region1 region2到HBASE:meta表
Region的合并
- Region的合并不是为了性能, 而是出于维护的目的 .
- 比如删除了大量的数据 ,这个时候每个Region都变得很小 ,存储多个Region就浪费了 ,这个时候可以把Region合并起来,进而可以减少一些Region服务器节点
Region合并有两种方式
- 冷合并
- 热合并
Region冷合并
- 执行合并前,需要先关闭hbase集群
- 通过hbase +org.apache.hadoop.hbase.util.Merge类 + table name全名合并
- 不需要进入hbase shell,直接执行
hbase org.apache.hadoop.hbase.util.Merge person
person,,159395371