大数据课程笔记: HBase总结
HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
与FUJITSU Cliq等商用大数据产品不同,HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。
一、hbase的特性
1、hbase数据的终持久化存储是基于hsfs文件系统,存储容量几乎无限,可以随时在线扩容
2、hbase的数据增删改查功能模块是分布式系统
3、nosql数据库,表结构
二、HBase的存储
HBase中的所有数据文件都存储在Hadoop HDFS文件系统上
1. HFile,HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile
2. HLog File,HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File。
三、HBase工作机制
1、hbase工作机制示意图
2、hbase工作机制详细解析
a.hbase的整体工作机制是接受客户端发来的请求命令,从hdfs中读取表文件信息返回给客户端;b. 每个hbase服务器负责表文件中对应region区域,hdfs上表文件的存储也是分为每个region单独存储,每个region中又分为多个列族存储;c. hbase集群中有两种角色,regionserver和master,regionserver负责响应客户端请求,读取表文件;master负责监控regionserver的状态,以便及时处理掉线的regionserver,保证hbase集群正常运行;当一个region挂掉时,master会及时监控到,这里利用了zookeeper管理regionserver状态信息当一个master挂掉时,不会影响客户端查数据,但如果此时regionserver挂掉,master又不能及时监控到,便会影响数据查询;解决方法就是再设置一台master,一台active状态,一台standby状态用作备用,当active的master挂掉,standby的master将会变为active状态,监控regionserver。d. master和zookeeper就组成了高可用。
学习永不止步,更多大数据技术分享,欢迎各位小伙伴持续关注!