hbase region split源码流程

本文详细介绍了HBase中region split的执行流程,从HbaseAdmin发起split请求开始,经RSRpcServices实现,到CompactSplitThread和SplitRequest进行region切割,包括doSplitting操作的步骤,如初始化子region、执行stepsBeforePONR和stepsAfterPONR函数,以及最终修改meta表信息并报告给Master。
摘要由CSDN通过智能技术生成

hbase region split :

split执行调用流程:

1.HbaseAdmin发起split:###

2.RSRpcServices实现类执行split(Implements the regionserver RPC services.)###

3.CompactSplitThread类与SplitRequest类用来执行region切割:###

4.splitRequest执行doSplitting操作###

4.1初始化两个子region###

4.2执行切割####

4.2.1:(创建子region。stepsBeforePONR函数)#####

4.2.2:子region执行:stepsAfterPONR函数执行(包含openDaughters函数):#####

4.2.3:HRegionServer添加子region到meta表,加入RegionServer#####

4.3等待region切分完成,修改meta表信息,报告master####

1.HbaseAdmin发起split:

    public void split(final TableName tableName) throws IOException {
split(tableName, null);
  }
   public void split(final ServerName sn, final HRegionInfo hri,
  byte[] splitPoint) throws IOException {
if (hri.getStartKey() != null && splitPoint != null &&
 Bytes.compareTo(hri.getStartKey(), splitPoint) == 0) {
   throw new IOException("should not give a splitkey which equals to startkey!");
}
// TODO: There is no timeout on this controller. Set one!
HBaseRpcController controller = rpcControllerFactory.newController();
controller.setPriority(hri.getTable());

// TODO: this d
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奈文摩尔ST

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值