Hbase基本架构

Hbase基本架构

Hbase 是一个主从架构,的集群, 主角色叫做HMaster ,从角色叫做HRegionserver 部署的时候可以一主多从,也可以多住多从形成高可用机制
Hbase基本架构_第1张图片

Hbase 组成部分

HMaster
HMaster 节点是Hbase 集群的主角色,主要职责如下:
对于表的操作DDL: create  ,delete  ,  alter 
对于RegionServer 的操作,分配regions 到每一个RegionServer,
监控每一个RegionServer的状态,负载均衡和故障转移

HRegionServer

Hregionserver 节点是Hbase 集群的从角色,直接对接用户的读写请求,主要职责如下:
对于数据的操作DML :  get      put    delete ;
对于Region 的操作:   splitRegion   compactRegion

zookeeper

HBase通过Zookeeper 来做master 的高可用,RegionServer 的监控,  
元数据的入口以及集群配置的维护等工作,具体如下:
通过zookeeper 来保证集群中只有一个master在运行,如果master异常,
会通过竞争机制产生新的master提供服务
通过zookeeper 来监控RegionServer 的状态 当RegionServer有异常的时候,
通过回调的形式通知master RegionServer上下线的信息

通过zookeeper 存储元数据的统一入口地址

内部核心组件

  • region
    Hbase 表的分片, Hbase表会根据RowKey 值被切分成不同的region
    存储在RegionServer 中, 在一个RegionServer 中可以有多个不同的region
  • Write-Ahead logs(简称 WAL)
    Hbase 的修改记录,也称之为预写日志,当对HBASE读写数据的时候,数据不是直接写进磁盘,他会在内存中保留一段时间,但把数据保存在内存中可能有更高的概率引起数据丢失,为了解决这个问题,数据会先写在一个叫做Write-Ahead log 的文件中, 然后在写入内存中,所以在系统出现故障的时候,数据可以通过这个日志文件重建 实现WAL 的类叫做Hlog
  • Store
    Hfile 存储在Store中,一个Store 对应Hbase表中的一个列族
  • Memstore
    顾名思义,就是内存存储,位于内存中,用来保存当前的数据操作,所以当数据保存在WAL中之后,regionserver会在内存找那个存储键值对
  • HFile
    这是在磁盘上保存原始数据的实际的为了文件,是实际的存储文件
    StoreFile 是以HFile的形式存储在 HDFS上的.

你可能感兴趣的:(Hbase基本架构)