代码版本:hbase-1.2.6
工程:hbase-server
类:org.apache.hadoop.hbase.regionserver.HRegion
需要解决的问题:
1、什么时候触发拆分?
2、拆分的策略是什么?
1、判断是否需要切分
方法: checkSplit
返回值: splitpoint
做了一些判断后,其实是调用:
byte[] ret = splitPolicy.getSplitPoint();
2、切分策略
org.apache.hadoop.hbase.regionserver.RegionSplitPolicy
/**
* @return the key at which the region should be split, or null
* if it cannot be split. This will only be called if shouldSplit
* previously returned true.
*/
protected byte[] getSplitPoint() {
byte[] explicitSplitPoint = this.region.getExplicitSplitPoint();

本文深入探讨了HBase 1.2.6版本中Region的拆分过程,从何时触发拆分到具体的拆分策略。首先,通过HRegion类的checkSplit方法判断是否需要拆分,该方法会调用RegionSplitPolicy来决定splitPoint。当explicitSplitPoint为空时,将依据storeSize从region的stores中寻找splitPoint,进一步利用HStore的getSplitPoint方法确定拆分点。
最低0.47元/天 解锁文章
675

被折叠的 条评论
为什么被折叠?



