Hbase各个组成部件的功能作用以及架构原理

HBase是一个基于HDFS的分布式数据库,专注于大数据的实时读写,适合大规模、多维度的数据存储。其架构包括Client、Zookeeper、Master、RegionServer等组件,通过Region和ColumnFamily组织数据,利用Memstore和StoreFile进行内存与磁盘的管理。与HDFS不同,HBase提供低延迟的行级访问,支持随机读写,而HDFS更适合大文件的顺序访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.基础入门
1.基础概念与理解
1.Hbase的介绍

​ HBase是一个类似Bigtable的分布式数据库,它是一个稀疏的长期存储的(存储在硬盘上)、多维度的、排序的映射表,这张表的索引是行关键字列关键字时间戳,HBase中的数据都是字符串,没有类型。

​ 概括的讲,Hbase可以看做是bigtable的开源山寨版本,是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。

​ 高可靠性、便于横向扩展的特性,也是我们项目选择Hbase进行存储的主要原因。

​ HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,适合于存储大表数据,表的规模可以达到数十亿行以及数百万列,并且对大表数据的读、写访问可以达到实时级别。

​ HBase Master是服务器负责管理所有的HRegion服务器,HBaseMaster并不存储HBase服务器的任何数据,HBase逻辑上的表可能会划分为多个HRegion,然后存储在HRegion Server群中,HBaseMaster Server中存储的是从数据到HRegion Server的映射。

2.Hbase架构图

架构拓补图,网络图1

img

架构拓补图,网络图2

img

架构拓补图,网络图3

img

3.Hbase架构组成原理
编号组件原理作用
1Client包含访问HBase的接口并维护cache来加快对HBase的访问
2Zookeeper保证任何时候,集群中只有一个master存贮所有Region的寻址入口
实时监控Region server的上线和下线信息。并实时通知Master存储HBase的schema和table元数据。
3Master为Region server分配region。
负责Region server的负载均衡。
发现失效的Region server并重新分配其上的region。
管理用户对table的增删改操作。
4RegionServerRegion server维护region,处理对这些region的IO请求,负责切分在运行过程中变得过大的region。
5RegionHBase自动把表水平划分成多个区域(region),每个region会保存一个表里面某段连续的数据;每个表一开始只有一个region,随着数据不断插入表,region不断增大,当增大到一个阀值的时候,region就会等分会 两个新的region(裂变);当table中的行不断增多,就会有越来越多的region。这样一张完整的表 被保存在多个Regionserver上。
6HLog(WAL log)HLog文件就是一个普通的Hadoop Sequence File(Hadoop序列文件),Sequence File 的Key是HLogKey对象,HLogKey中记录了写入数据的归属信息,除了table和 region名字外,同时还包括sequence number和timestamp,timestamp是” 写入时间”,sequence number的起始值为0,或者是最近一次存入文件系 统中sequence number。
HLog SequeceFile的Value是HBase的KeyValue对象,即对应HFile中的 KeyValue。
7Memstore 与 storefile一个region由多个store组成,一个store对应一个CF(列族)store包括位于内存中的memstore和位于磁盘的storefile写操作先写入memstore,当memstore中的数据达到某个阈值,hregionserver会启动flashcache进程写入storefile,每次写入形成单独的一个storefile当storefile文件的数量增长到一定阈值后,系统会进行合并(minor、 majorcompaction),在合并过程中会进行版本合并和删除工作 (majar),形成更大的storefile。
当一个region所有storefile的大小和超过一定阈值后,会把当前的region分割为两个,并由hmaster分配到相应的regionserver服务器,实现负载均衡。
客户端检索数据,先在memstore找,找不到再找storefile HRegion是HBase中分布式存储和负载均衡的最小单元。最小单元就表示不同的HRegion可以分布在不同的HRegion server上。
HRegion由一个或者多个Store组成,每个store保存一个columns family。
每个Strore又由一个memStore和0至多个StoreFile组成。

img

4.Hbase与Hdfs区别
HBaseHDFS
建立在HDFS之上的数据库适用于存储大容量文件的分布式文件系统
提供在较大的表快速查找不支持快速单独记录查找
提供了数十亿条记录低延迟访问单个行记录(随机存储)提供了高延迟批量处理;没有批处理概念
内部使用哈希表和提供随机接入,并且其存储随机索引,可对在HDFS文件中的数据进行快速查找提供的数据只能顺序访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值