HBase理论概述
HBase基本介绍
HBase是一个面向列式存储的分布式数据库,它底层存储基于HDFS实现,而集群管理则依赖于ZooKeeper。
HBase的架构
HBase组件角色:
HMaster
- 监控RegionServer
- 处理RegionServer故障转移
- 处理元数据的变更
- 处理region的分配或移除
- 在空闲时间进行数据的负载均衡
- 通过Zookeeper发布自己的位置给客户端
HRegionServer
- 负责存储HBase的实际数据
- 处理分配给它的Region
- 刷新缓存到HDFS
- 维护WAL(Write-Ahead Logging)
- 执行压缩
- 负责处理Region分片
HFile
- 磁盘上保存原始数据的实际物理文件。
Store
- HFile存储在Store中,一个Store对应HBase表中的一个Column Family列族(列簇)。
MemStore
- 内存存储,用来保存当前的数据操作,位于内存中。
HBase部署与启动
部署步骤:
-
下载并解压缩HBase。
-
在
/etc/profile
全局配置文件中添加HBase环境变量:export HBASE_HOME=/export/servers/hbase-2.4.5 export PATH=$PATH:$HBASE_HOME/bin
-
配置
hbase-env.sh
:export JAVA_HOME=/export/servers/jdk1.8.0_161 export HBASE_MANAGES_ZK=false # 使用外部的ZooKeeper
-
配置
hbase-site.xml
。 -
拷贝ZooKeeper的
conf/zoo.cfg
到HBase的conf/
下。 -
启动HBase:
- 执行
start-hbase.sh
脚本。
- 执行
注意事项:
为了方便启动,可在/etc/profile
中添加环境变量。
HBase表结构
HBase的表结构设计是围绕列族组织的,每个列族在物理存储上作为一个Store单元存在。数据按列族进行分割和存储,提高了数据访问的效率。