ITPub博客

首页 > 大数据 > > HBase区域服务器分配

HBase区域服务器分配

作者:浪花小雨滴 时间:2020-05-08 15:20:34 0 删除 编辑

文章来源:加米谷大数据

本文介绍HBase区域如何分配给区域服务器。

HBase区域分配启动

当HBase启动区域分配如下(简短版本)时:

  • 主机在启动时调用AssignmentManager。
  • AssignmentManager查看hbase:meta中现有的区域分配。
  • 如果区域分配仍然有效(即,如果RegionServer仍处于联机状态),则将保留分配。
  • 如果分配无效,则调用LoadBalancerFactory来分配区域。负载均衡器(在HBase 1.0中默认StochasticLoadBalancer)将该区域分配给RegionServer。
  • hbase:meta使用RegionServer分配(如果需要)和RegionServer启动代码(RegionServer进程的开始时间)在RegionServer打开区域时进行更新。

故障转移


当RegionServer失败时:

  1. 区域立即变得不可用,因为RegionServer已关闭。
  2. 主机将检测到RegionServer失败。
  3. 区域分配将被视为无效,并将像启动序列一样被重新分配。
  4. 飞行中的查询被重新尝试,并且不会丢失。
  5. 操作在以下时间段内切换到新的RegionServer:
  6. ZooKeeper session timeout + split time + assignment/replay time

  7. 区域负载平衡


    区域可以由LoadBalancer定期移动。

    区域状态转变


    HBase维持每个区域的状态并在hbase:meta中保持状态。该hbase:meta地区本身的状态在ZooKeeper中保存。您可以在Master Web UI中查看转换中的区域状态。以下是可能的区域状态。

    可能的区域状态:

    • OFFLINE:该区域处于离线状态,无法打开
    • OPENING:该区域正在被打开
    • OPEN:该区域已打开并且RegionServer已通知主机
    • FAILED_OPEN:RegionServer无法打开该区域
    • CLOSING:该区域正在关闭
    • CLOSED:RegionServer关闭了该区域并通知了主机
    • FAILED_CLOSE:RegionServer无法关闭该区域
    • SPLITTING:RegionServer通知主机该地区正在拆分
    • SPLIT:RegionServer通知主机该区域已完成拆分
    • SPLITTING_NEW:该区域正在建设中,正在进行中的拆分
    • MERGING:RegionServer通知主机这个区域正在与另一个区域合并
    • MERGED:RegionServer通知主机该区域已被合并
    • MERGING_NEW:这个区域是由两个区域合并创建的

    区域状态转换图:


  8. 图表图例注释:

    • Brown:离线状态,一种特殊状态,可以是暂时的(打开之前关闭后),终端(已禁用表的区域)或初始(新创建表的区域)
    • Palegreen:区域可以满足请求的在线状态
    • Lightblue:瞬态状态
    • Red:需要OPS注意的失败状态
    • Gold:区域的终端国家拆分/合并
    • Grey:通过拆分/合并创建的区域的初始状态



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3169425/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-05-16

  • 博文量
    4259
  • 访问量
    40024