《HBase权威指南》读书笔记 第八章:架构,region拆分

region拆分

region拆分的条件满足以下任何一条时做split拆分操作:

  • 当region储存文件大于配置项hbase.hregion.max.filesize
  • 当region储存文件大于列族层面配置的大小

拆分过程非常迅速。其大致过程为:HBase创建两个引用文件,然后在后台执行compaction操作替换掉被引用的文件。假设要拆分的region文件路径为/hbase/testtable/b095f2f8eaaf945bcfdd453eeaf83447/colfam1/6630747383202842155,以下是拆分的详细过程:

  • 创建文件夹:/hbase/testtable/b095f2f8eaaf945bcfdd453eeaf83447/splits
  • 关闭regionb095f2f8eaaf945bcfdd453eeaf83447,不再接受新的请求
  • splits目录中创建子region的文件,此文件包含的信息仅有:拆分的key、上半部分还是下半部分,被称为reference文件。包括:splits/新的regionA/新的随机数A.b095f2f8eaaf945bcfdd453eeaf83447splits/新的regionB/新的随机数B.b095f2f8eaaf945bcfdd453eeaf83447。可以看到文件名是父region作为后缀。
  • 上一步如果成功完成,则将上面两个文件夹splits/新的regionAsplits/新的regionB移动到/hbase/testtable
  • 将父region标记为正在拆分
  • 启动两个子region,更新meta表,添加两个子region
  • 两个子region启动compaction操作,从父region读取数据重新构建子region的文件。
  • 当compaction操作做完之后,父region相关数据全部被删除

参考资料: http://blog.csdn.net/javaman_chen/article/details/48048315
http://blog.csdn.net/weihongrao/article/details/17297303
http://blog.csdn.net/weihongrao/article/details/17281991

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值