0


HBase架构

物理架构

HBase采用主从架构形式,主要组成:HMaster,HRegionServer,HRegion,ZooKeeper,DFS Client。

HBase物理架构

物理架构各部分讲解

HMaster

1.是HBase集群的主节点,可以配置多个(用于备用HMaster backup),实现HA
2.【存储元数据】,同时处理元数据的变更
3.负责RegionServer监视,负载均衡(分裂split)和故障迁移(容灾性)
4.借助ZooKeeper,将元数据信息(meta)发送给客户端

HRegionServer

1.负责管理HBase的实际数据
2.维护HLog
3.刷新缓存至HDFS
4.负责处理HRegion及其切片
5.执行Compact操作【收缩操作】

HRegion:分区。

补充点:
    1.Region是HBase集群分布数据的最小单位
    2.多个同样的Region不可存在于同一个RegionServer下

HLog:WAL日志

Store:存储区

MemStore:相当于缓存区

StoreFile:对HDFS上文件(HFile)的包装,其存储了映射信息【HBase存储位置,DataNode位置…】

HFile:存储于HDFS上的文件,相当于一个block

读取操作:

ZooKeeper与HMaster和备用的HMaster backup之间都具有心跳。

hbase读取操作

具体过程讲解

1.客户端通过zookeeper找到HMaster【定期】通过心跳发送过来的表的元数据信息【hbase:meta】。

2.客户端获取元素信息后,就会得知表在哪台或哪几台HRegionServer上,就可直接去读取HRegionServer上的数据。

写入操作:基于内存(MemStore)写

ZooKeeper与HMaster和备用的HMaster backup之间都具有心跳。

hbase写入操作

具体过程讲解

客户端进行建表操作后,表会在一台机器上形成一个Region【Region为基本单位】。客户端会通过put操作先让数据进入HLog中去【容灾性:便于恢复】,然后再进入Region中的MemStore中去,就此写入的操作完成。【只需写到内存(MemStore)中就算完成操作了

后续过程补充:可以进行配置来控制MemStore的溢写条件【一定时间间隔溢出一次(3s左右)或者一定数量溢出一次】。MemStore溢写一次形成一个StoreFile,StoreFile包装了HFile。Hfile借助DFS Client写入HDFS中的DataNode中的block上面。

注意:当一个Region写满后,会进行**<伸缩机制>**,在另一台机器上形成一个Region继续书写。

逻辑架构(数据层面)

HBase表的逻辑结构图

HBase表的逻辑结构

名词解释

  • Column Family(列族):HBase中的每个列都归属于某个列族,列族不能改变,一行可有多个列族,一个列族可有任意个列。
  • Column(列):类似于关系型数据库中的列名。一般都是从属于某个列族,跟列族不一样,这些列都可以动态添加。
  • RowKey(行键):行键是HBase记录条目的主键,物理存储时会按照RowKey的字典序排序存储,HBase基于RowKey实现索引。

补充点行键映射列族,列族映射列

标签: hbase 架构 数据库

本文转载自: https://blog.csdn.net/qq_73339471/article/details/137074210
版权归原作者 袖清暮雨 所有, 如有侵权,请联系我们删除。

“HBase架构”的评论:

还没有评论