白话HBase-5分钟了解HBase架构

1.分布式的

HBase是一个分布式存储引擎:那么它是由很多Server组成的,RegionServer可以达到几千上万个节点

在这里插入图片描述

2.增加管理者HMaster

这么多Server,需要一个管理者,来server列表,table信息,数据如何分布等元数据

所以有了HMaster,为了防止单个HMaster挂掉导致进群无法服务,所以还要启动一个backup的HMaster

在这里插入图片描述

3.管理者的高可用HMaster

两个HMaster如何在一个挂掉之后切换到另外一个呢?

通过Zookeeper的临时节点。

HBase的元数据表位置,也要存储在zookeeper的节点中,这样如果整个集群重启,能先通过zk加载最近本的meta信息,然后再加载其他的依赖meta的信息。

客户端通过请求zk的meta节点,知道元数据表的位置,然后再访问meta表,得知数据分布

扫描二维码关注公众号,回复: 8843961 查看本文章

RegionServer 通过注册zookeeper 的 watcher。来感知Zookeeper节点的数据更新,删除,新建等变化

因此HBase中还用到Zookeeper。

(HBase用到了Zookeeper的临时节点特性,持久化类型节点,watcher)

在这里插入图片描述

4.底层存储

底层数据如何保证不丢失?HBase直接利用了HDFS的三副本特性,进行底层文件存储

在这里插入图片描述

5.客户端请求

(1).客户端请求zookeeper,获取hbase meta表位置并缓存

(2).从meta表获取需要操作的表的数据位置在具体哪个RegionServer

(3).连接具体RegionServer进行数据读写

(4).如果数据没在RegionServer的缓存里,RegionServer会和HDFS交互(HDFS的api),从HDFS进行数据读取

在这里插入图片描述

发布了52 篇原创文章 · 获赞 4 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/Gloria_y/article/details/83512045