HBase 架构概述

Hbase 主要架构图
- **Hbase-Master:**负责监控集群、管理 RegionServers 的负责均衡等,可以用主-备形式部署多个Master;
- **Hbase-RegionServer:**负责响应用户的 I/O 操作请求,客户端对 HBase 读写数据是与RegionServer交互;
- **Zookeeper:**负责选举 Master 的主节点;服务注册;保存 RegionServers 的状态等。可以使用系统内建的 zookeeper,也可以使用独立的zookeeper;
- **HDFS:**真正的数据持久层,并非必须是 HDFS 文件系统,但搭配 HDFS 是最佳选择,也是目前应用最广泛的选择。
Hbase Meta
Hbase Meta 表的作用
HBase 的表是会分割为多个 Region 的,不同Region分布到不同 RegionServer 上。Region 是 HBase中分布式存储和负载均衡的最小单元;
HBase Meta 表记录所有 Region 的信息,这些信息主要的作用是记录数据的 Rowkey 所在的 Region 和该 Region 所在的 RegionServer 信息;
HBase Meta 位于 Zookeeper 上;
Region 的定位过程
- 首次读取读取:
- 读取 ZooKeeper 中 META表的位置;
- 读取 .META 表中用户表的位置;
- 读取数据;
- 如果已经读取过一次,则root表和.META都会缓存到本地,直接去用户表的位置读取数据;