加入收藏 | 设为首页 | 会员中心 | 我要投稿 鞍山站长网 (https://www.0412zz.cn/)- 智能营销、数据计算、数据可视化、负载均衡、研发安全!
当前位置: 首页 > 站长资讯 > 评论 > 正文

架构师图解HBase深层次的秘密

发布时间:2021-02-26 14:15:15 所属栏目:评论 来源:互联网
导读:egion server主要用来服务读和写操作。当用户通过client访问数据时,client会和HBase RegionServer 进行直接通信。 HMaster主要进行region server的管理、DDL(创建、删除表)操作等。 Zookeeper是HDFS(Hadoop Distributed File System)的一部分,主要用来维持
  • egion server主要用来服务读和写操作。当用户通过client访问数据时,client会和HBase RegionServer 进行直接通信。
  • HMaster主要进行region server的管理、DDL(创建、删除表)操作等。
  • Zookeeper是HDFS(Hadoop Distributed File System)的一部分,主要用来维持整个集群的存活,保障了HA,故障自动转移。

而底层的存储,还是依赖于HDFS的。

  • Hadoop的DataNode存储了Region Server所管理的数据,所有HBase的数据都是存在HDFS中的。
  • Hadoop的NameNode维护了所有物理数据块的metadata。

1.1 region server

HBase 的tables根据rowkey的范围进行水平切分,切分后分配到各个regions。一个region包含一个表在start key和end key所有行。region会被分配到集群中的各个region server,而用户都是跟region server进行读写交互。一个region一般建议大小在5-10G。

 

.3 Zookeeper

HBase使用Zookeeper作为分布式协调服务,来维护集群内的server状态。

Zookeeper通过 heartbeat 维护了哪些server是存活并可用的,并提供server的故障通知。同时,使用一致性协议来保证各个分布式节点的一致性。

这里,需要特别关注,zookeeper负责来HMaster的选举工作,如果一个HMater节点宕机了,就会选择另一个HMaster节点进入active状态。

 

aster作为唯一当前active的HMaster,其他HMater进入stand by的状态。这个active的HMaster会不断发送heartbeat给zk,其他stand by状态的HMaster节点会监听这个active HMaster的故障信息。一旦发现active HMaster宕机了,就会重新竞争新的active HMaster。这就实现了HMaster的高可用。

每个region server会创建一个ephemeral node。HMaster会监视这些节点来确认哪些region server是可用的,哪些节点发生了故障宕机了。

如果一个region server或者active的HMaster 没有发送heatbeat给zk,那么和zk之间的会话将会过期,并且zk上会删掉这个临时节点,认为这个节点发生故障需要下线了。

其他监听者节点会收到这个故障节点被删除的消息。比如actvie的HMaster会监听region server的消息,如果发现某个region server下线了,那么就会重新分配region server来恢复相应的region数据。再比如,stand by的HMaster节点会监听active 的HMaster节点,一旦收到故障通知,就会竞争上线成为新的active HMaster。

1.5 第一次访问HBase


(编辑:鞍山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读