大数据之HBase
HBase的定义
HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。
适合于存储大表数据(表的规模可以达到数十亿行以及数百万列),并且对大表数据的读、写访问可以达到实时级别;
利用Hadoop HDFS(Hadoop Distributed File System)作为其文件存储系统,提供实时读写的分布式数据库系统;
利用ZooKeeper作为协同服务。
Hbse在产品定位
HBase在FusionInsihgt当中与HDFS,ZooKeeper等组件皆为基础组件,HBase提供海量数据存储,Hive、Spark等组件也皆有基于HBase做上层分析的应用实践。
HBase作为一个高可靠性、高性能、面向列、可伸缩的分布式数据库,提供海量数据存储功能,用来解决关系型数据库在处理海量数据时的局限性。
HBase包含模块:
HMaster
在HA模式下,包含主用Master和备用Master。
主用Master:负责HBase中RegionServer的管理,包括表的增删改查;RegionServer的负载均衡,Region分布调整;Region分裂以及分裂后的Region分配;RegionServer失效后的Region迁移等。
备用Master:当主用Master故障时,备用Master将取代主用Master对外提供服务。故障恢复后,原主用Master降为备用。
RegionServerH
RegionServer负责提供表数据读写等服务,是HBase的数据处理和计算单元。
RegionServer一般与HDFS集群的DataNode部署在一起,实现数据的存储功能。
HBase协作组件:
ZooKeeper
ZooKeeper为HBase集群中各进程提供分布式协作服务。各RegionServer将自己的信息注册到Zookeeper中,主用Master据此感知各个RegionServer的健康状态。
HDFS
HDFS为HBase提供高可靠的文件存储服务,HBase的数据全部存储在HDFS中。
Hbase写流程
HBase可类比为一栋图书馆,其中RegionServer就是这栋图书馆中的某层,Region是某个类别的图书,相同类别的图书都存放在同一个Region中。
写流程:
客户端发起请求 -> 通过ZooKeeper寻找到meta表所在RegionServer -> meta表中记载着各个User Region信息(rowkey范围,所在RegionServer),通过meta表寻找所要写入的Region所在RegionServer -> 请求按RegionServer和Region打包发送到Region所在RegionServer,由该RegionServer具体处理数据写入。
HBase:分布式NoSQL数据库,每条用户数据以KeyValue存放在HBase中。
HClient:用户数据与HBase的接口,负责数据分类,下发数据给Region。
Region:数据存放的最小单元。
RegionServer:负责管理多个Region,是Region的载体。
- 点赞
- 收藏
- 关注作者
评论(0)