【大数据学习 | HBASE】hbase的整体架构

hbase的region存储原理图

首先我们看到hbase的组成分为两个大的部分 ,分别是hmaster和hregionserver主节点用于协调数据,regionserver用于真正的去管理表 ,其中regionserver 存在多个,他们共同协调管理全有的表,负载均衡,共同分摊压力 ,其中一个表会由一个regionserver进行管理,这样压力都会集中在一个regionserver中,并且查询速度会比较慢,那么为了并行操作查询效率升高一个表会分为多个部分分散在多个regionserver中进行管理,每个表会按照行进行拆分为多个region,一个region是一个表的横向切割的部分内容,所以一个表切割完毕以后会存在多个region部分,分别交给不同的regionserver进行管理一个region会包含一个表所有的列信息,然后这些信息会按照列族进行存储,一个region中存在多少个列族就会有多少个Store,一个store中又会存在一个memstore进行缓存客户端对于这个列族的所有操作,这个memstore的缓存部分写满以后会以文件的形式写到本地磁盘中,这个文件叫做storeFile,最后这个storeFile会写出到hdfs中以HFile的形式进行存储。

hbase的组件结构如下

HMaster

hmaster一般都是两台机器,使用zookeeper进行管理和协调

管理表操作,如:create、alter、drop;

管理HRegionServer的负载均衡,调整region分布;

region split后,负责新region重分布;

在HRegionServer停机后,负责失效的HRegionServer上region的迁移;

HRegionServer

真正干活的节点,一般会和datanode部署到一起

维护region,处理region的IO请求,如:put、get、scan、delete;

regionserver负责切分在运行过程中逐渐变大的region

Region

一个表会按照rowkey的范围进行行级别的分割,分割出来的一个部分就叫做region ,它是表的一部分数据,可以分散到不同的regionserver中进行管理,是一个表的最小负载均衡的单位
每个region都会记录自己的startkey和endkey的范围。

Store

每一个列族对应一个Store,一个Region里包含一个或者多个Store,由此在设计cf时,尽量将同一系列的数据存在一个列族中,便于同一系列的数据都存在同一个region中。

Hlog

hbase WAL(write ahead log) ,**在用户发起写请求时先向Hlog写一份,然后再将数据向memstore中写,Hlog数据是写磁盘,为了避免HRegionServer故障时memstore数据丢失,**Hlog滚动更新,新数据会加入会对应冲抵掉较早的Hlog数据。

Memstore

hbase写缓存 ,在用户发起写请求时先写入hlog,然后再写入memstore中,当memstore写入达到flush阈值时,将memstore中的数据写到hdfs上(hfile)每个列族对应一个memstore,即一个HStore/Store中只有一个memstore。

storefile

​ 当memstore写数据达到设定的阈值之后,会将数据溢写到hdfs,即storefile,内部存储hfile。storefile会进行合并,当storefile经过多次合并后变得已经达到指定规则的分裂阈值,则再进行region分裂。

相关推荐
武子康7 小时前
大数据-98 Spark 从 DStream 到 Structured Streaming:Spark 实时计算的演进
大数据·后端·spark
阿里云大数据AI技术7 小时前
2025云栖大会·大数据AI参会攻略请查收!
大数据·人工智能
lunz_fly19928 小时前
Oracle清理:如何安全删除trace, alert和archivelog文件?
oracle
代码匠心10 小时前
从零开始学Flink:数据源
java·大数据·后端·flink
Lx35212 小时前
复杂MapReduce作业设计:多阶段处理的最佳实践
大数据·hadoop
武子康15 小时前
大数据-100 Spark DStream 转换操作全面总结:map、reduceByKey 到 transform 的实战案例
大数据·后端·spark
expect7g16 小时前
Flink KeySelector
大数据·后端·flink
阿里云大数据AI技术1 天前
StarRocks 助力数禾科技构建实时数仓:从数据孤岛到智能决策
大数据
Lx3522 天前
Hadoop数据处理优化:减少Shuffle阶段的性能损耗
大数据·hadoop
武子康2 天前
大数据-99 Spark Streaming 数据源全面总结:原理、应用 文件流、Socket、RDD队列流
大数据·后端·spark