当前位置:   article > 正文

HBase架构_hbase的架构

hbase的架构

物理架构

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

HBase物理架构

物理架构各部分讲解

     HMaster

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

     HRegionServer

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

     HRegion:分区。

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

     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实现索引。

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/603582
推荐阅读
相关标签
  

闽ICP备14008679号