视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
HBase之体系结构(Architecture)
2020-11-09 11:43:12 责编:小采
文档


HBase在分布式部署上采用master/slave的方式,主要包含3大功能组件,分别是:RegionServer、MasterServer和ClientLibrary在分布式

HBase在分布式部署上采用master/slave的方式,主要包含3大功能组件,分别是:RegionServer、MasterServer和ClientLibrary

在分布式存储上使用的是Hadoop的HDFS子框架

分布式计算功能基于Hadoop的MapReduce实现

1.Region

Region作为HBase的分布式存储单元包含了一组Row,这些Row的key值在索引排序上是连续的,因此在分布式存储的时候,RowKey的定义非常重要,要确保具有相同性质的数据是存储在同一台机器上,最好的方法就是为他们指定相似的RowKey值

2.RegionServer

在HBase中,RegionServer充当Slave角色,,负责与Client进行交互,进行相关的读写操作。

3.MasterServer

MasterServer充当master主要有以下职责:

(1).负责将Region分配给RegionServer

(2).动态加载或卸载RegionServer

(3).对RegionServer实现负载均衡

(4).管理Schema定义

系统中可能会存在多个master机器,但是这些机器并不会同时运行,而是处于一个竞争的状态,当正在运行的master机器出现故障的时候,系统会转移到其他master来接管。

在HBase部署中,Client是不与Master进行交互的,所有的读写操作都是通过RegionServer来完成,master在其中起到了负载均衡的作用,当某一个RegionServer加载量较大时,master可以将相应的Region进行重新的切片部署,将压力分散到多台机器上。

4.ClientLibrary

客户端类库,与RegionServer进行通信,并且还会缓存RegionServer和它所存储的Region地址,加快下次访问效率。

另外,当master机器地址发生变动时,client通过ZooKeeper来查找定位新的master地址,ZooKeeper存储了所有机器的地址信息,客户端需要有ZooKeeper的连接环境(将habse-site.xml加入到客户端classpath中)

5.CatelogTable

HBase预定义了两张表格用于保存数据的分布式存储地址,分别是 -ROOT- 和 .META.

-ROOT-存储了.META.数据的访问地址

.META.存储了用户Region的访问地址

这样ClientLibrary可通过-ROOT-遍历到任何Region的地址

下载本文
显示全文
专题