- HBase应用实战与性能调优
- 张文亮编著
- 865字
- 2022-07-28 18:20:53
2.1 HBase基本架构
下面将介绍HBase基本架构中涉及的一些概念,如图2-1所示。
图2-1 HBase基本架构
从图2-1中可以看出,HBase中有几个重要角色,分别是:
1)Client(客户端)
2)RegionServer(区域服务器)
3)Master(主服务器)
4)ZooKeeper
5)HDFS(Hadoop分布式文件系统)
接下来逐一介绍这些角色。
1. Client
Client不仅提供了访问HBase的接口,还维护对应的Cache(缓存)来加快对HBase的访问。Client维护的缓存主要是缓存Region的位置信息。
2. RegionServer
RegionServer为Region的管理者,部署在一台物理服务器上。一般一个HBase集群有一个Master服务器和几个RegionServer服务器。Master服务器负责维护表结构信息,RegionServer服务器则负责存储数据。当客户端从ZooKeeper获取RegionServer的地址后,会直接从RegionServer获取数据。RegionServer的主要功能如下:
1)维护Region,处理对Region的I/O(输入/输出)请求。
2)负责切分在运行过程中变得过大的Region,并重新对Region进行分配。
3)对表数据进行增加、修改、删除操作。
3. Master
Master是所有RegionServer的管理者。Master负责各种协调工作,对表架构进行创建、修改、删除等操作,还负责把Region分配到每个RegionServer上,以及监控每个RegionServer的状态。在HBase中,即使Master宕机了,集群依然可以正常地运行,客户端依然可以存储和删除数据或进行数据查询,只是不能进行创建表的操作,如图2-2所示。
图2-2 HBase基本架构中的Master
Master的主要功能如下:
1)为RegionServer分配Region。
2)负责RegionServer的负载均衡。
3)发现失效的RegionServer并重新分配其上的Region。
4)管理用户对表架构的增删改查操作。
4. ZooKeeper
ZooKeeper是一个开放源码的分布式应用程序协调服务,是谷歌公司Chubby的一个开源的实现,是Hadoop和HBase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
在HBase中通过ZooKeeper来做Master的高可用、RegionServer的监控以及集群配置的维护等工作。在生产环境中,为了防止ZooKeeper单节点宕机问题的发生,ZooKeeper也是以多节点集群的方式参与在HBase架构中,如图2-3所示。
图2-3 HBase基本架构中的ZooKeeper集群
ZooKeeper在HBase中的主要功能如下:
1)ZooKeeper解决Master的单点故障问题。
2)HBase管理ZooKeeper实例,比如,启动或者停止ZooKeeper。
3)存储所有Region的寻址入口。
4)实时监控RegionServer的上线和下线信息,并实时通知给Master。
5. HDFS
HDFS为HBase提供最终的底层数据存储服务,同时为HBase提供高可用的支持,如图2-4所示。
图2-4 HBase基本架构中的HDFS