前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HBase:Region管理与Master工作机制

HBase:Region管理与Master工作机制

作者头像
大数据梦想家
发布2021-01-26 11:06:30
1.2K0
发布2021-01-26 11:06:30
举报
文章被收录于专栏:大数据成长之路

本篇博客小菌为大家带来的是HBase的Region管理与Master工作机制。

region 的管理

首先让我们来看下region的管理,当然这存在一个前提: 任何时刻,一个region只能分配给一个region server。

  • 1.master记录了当前有哪些可用的region server。以及当前哪些region分配给了哪些region server,哪些region还没有分配。
  • 2.当需要分配的新的region,并且有一个region server上有可用空间时,master就给这个region server发送一个装载请求,把region分配给这个region server。
  • 3.region server得到请求后,就开始对此region提供服务。
在这里插入图片描述
在这里插入图片描述
region server上线

前提: master使用zookeeper来跟踪region server状态。

  • 1.当某个region server启动时,首先在zookeeper上的/hbase/rs目录下建立代表自己的znode。
  • 2.master订阅了/hbase/rs目录上的变更消息,当/hbase/rs目录下的文件出现新增或删除操作时,master可以得到来自zookeeper的实时通知。因此一旦region server上线,master能马上得到消息。
region server下线

前提: master使用zookeeper来跟踪region server状态。

  • 1.当region server下线时,它和zookeeper的会话断开。
  • 2.zookeeper而自动释放代表这台server的文件上的独占锁(znode)
  • 3.zookeeper将变化发送给master
  • 4.master 将挂掉的region server的region分配给其它还活着的regionserver。

Master工作机制

Master 的工作机制也分为上线和下线两种。

master 上线

前提:hbase集群中可以设置多个Hmaster,真正对外提供服务的只有一个

master启动进行以下步骤:

1.从zookeeper上获取唯一 一个代表active master的锁,用来阻止其它master成为真正的master。

2.扫描zookeeper上的/hbase/rs节点,获得当前可用的region server列表。

3.master和每个region server通信,获得当前已分配的region和region server的对应关系。

4.master扫描.META.表,计算得到当前还未分配的region,将他们放入待分配region列表。

针对master上线的几个步骤,可以高度抽象为以下几个问题。

问题一: 如何确定哪个master是真正的master 看谁获得了 active master 的锁

问题二: master如何知道有哪些regionserver 扫描zookeeper 上的/hbase/rs 节点

问题三: master 如何知道region与regionserver之间的对应关系 master 和 每个region server 通信,regionserver 之间的对应关系。

问题四: master 如何知道哪些region还未分配 master扫描.META.表,计算得到当前还未分配的region。

Hmaster下线

master只维护表和region的元数据,不参与表数据IO的过程,所以master下线短时间内对整个hbase集群没有影响。表的数据读写还可以正常进行。

Hmaster下线后的影响

1.无法创建删除表,无法修改表的schema,无法进行region的负载均衡,无法处理region 上下线,无法进行region的合并(region的split可以正常进行)。

2.当hmaster下线后,启动Zookeeper的选举机制,选出新的Hmaster,新的Hmaster上线,执行上线流程。 本次的分享就到这里就结束了,受益的小伙伴或对大数据感兴趣的朋友记得关注小菌哟(^U^)ノ~YO

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/12/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • region 的管理
    • region server上线
      • region server下线
      • Master工作机制
        • master 上线
          • Hmaster下线
            • Hmaster下线后的影响
            相关产品与服务
            TDSQL MySQL 版
            TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档