1. HBase系统架构
HBase集群由如下角色组成:
- Zookeeper集群,提供HMaster的HA以及分布式配置管理服务
- HMaster:Active Master和用于HA的Backup Master
- HRegion Servers:HBase集群中负责数据存储的服务器,类似Master/Slave架构中的Slave
- HRegion:用于存储HBase表中的部分数据行,[StartRowKey,endRowKey),一个表中的数据可能分布在多个HRegion中。当一个HRegion中存放的数据记录超过一定容量时,类似MongoDB的Chunk,HRegion也会会分裂成多个HRegion。不同的HRegion会被HMaster分配到不同的HRegionServer上进行管理,这就体现了数据分散存储的特性
- Store:一个HRegion中存在多个Store,Store可以认为与表的Column Family对应,也就是,不同的Column Family进行分别存储,以便针对不同的Column Family采用不同的压缩算法进行压缩。Store由MemStore和一系列的StoreFile组成,用户的数据首先写入到MemStore中,当MemStore满了以后会Flush成一个StoreFile(底层实现是HFile)。
- StoreFile:一个Store中包含一个或者StoreFile,是将MemStore中的数据Flush到磁盘上。
2. HBase的系统角色
2.1 Client
- 包含访问HBase的接口,并维护cache来加快对HBase的访问,与HRegionServer打交道
2.2 Zookeeper
- 保证任何时候,集群中只有一个Master(HA)
- 存贮所有Region的寻址入口
- 实时监控Region server的上线和下线信息。并实时通知给Master
- 存储HBase的schema和table元数据
2.3 Master
- 为Region Server分配Region
- 负责Region Server的负载均衡
- 发现失效的Region server并重新分配其上的region到其它的HRegionServer(需要时间,但是这个对用户的读写这个上面的数据产生影响)
- 管理用户对table的增删改查操作
2.4 Region Server
- Region server维护region,处理对这些region的IO请求
- Region server负责切分在运行过程中变得过大的region
2.5 HLog、HFile
HBase中的所有数据文件都存储在Hadoop HDFS文件系统上,主要包括上述提出的两种文件类型:
- HFile, HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装。
- HLog,HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File。
3. Zookeeper的作用
Master和所有RegionServer都向Zookeeper注册
4. Write Ahead of Log
HLog日志重做文件,首相将操作日志写到HLog中,假如写HRegion时,此时的HRegion失败导致写失败,此时可以从HLog中重新读取写失败的数据
5. HDFS vs HBase
8. SQL vs HBase
相关推荐
HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用HadoopMapReduce来...
有两个系统内置的预定义命名空间: hbase :系统命名空间,用于包含 hbase 的内部表 default :
本文档图文并茂地详细的描述了HBASE列式数据的架构和原理,是HBASE入门不错的的资料
Cassandra与HBase系统架构比对
Hbase全称为Hadoop Database,即Hbase是Hadoop的数据库,是一个分布式的存储系统。...本篇文章将重点介绍Hbase三个方面的内容:Hbase体系结构(架构)的介绍、Hbase shell的操作、Hbase的Java api的客户端操作
Hbase架构简介,推荐系统中表表结构设计实践
## 系统架构 本使用kafka,spark,hbase开发日志分析系统。 ![architecture](/docs/images/architecture.png "architecture") ### 软件模块 * Kafka:作为日志事件的消息系统,具有分布式,可分区,可冗余的...
hbase 资源合集 hbase 企业应用开发实战 权威指南 hbase 实战 hbase 应用架构
这本书对于想学习大数据Hbase的程序爱好者非常有用,深入介绍了从Hbase原理、生态圈到项目中架构设计和相关问题优化的各方面
阿里云技术专家、架构师 专注在大数据领域,有6年分布式引擎研发经验 先后研发上万台Hadoop、ODPS集群 先后负责阿里YARN、spark及自主研发内存计算引擎 目前为广大公共云用户提供专业的云Hadoop服务及 云HBase服务. ...
HBase思维导图,便捷整理思路,HBase简介、HBase架构、HBase数据模型、HBase角色
Hbase系统架构及数据结构,进阶篇
HBase应用架构 [美] 吉恩-马克·斯帕加里(Jean-Marc Spaggiari) 著,陈敏敏 夏锐 陈其生 译
hbase架构设计基础
hbase的体系架构安装,hbase的三种安装模式,及一些操作命令
HBase性能调,从架构方面的调优。
HBase架构解析——维基百科[归纳].pdf
Cassandra与HBase系统架构比对.zip