黑猴子的家:HBase 的角色

1、HMaster 功能

1)监控RegionServer
2)处理RegionServer故障转移
3)处理元数据的变更
4)处理region的分配或移除
5)在空闲时间进行数据的负载均衡
6)通过Zookeeper发布自己的位置给客户端

2、RegionServer 功能

1)负责存储HBase的实际数据
2)处理分配给它的Region
3)刷新缓存到HDFS 
4)维护HLog
5)执行压缩
6)负责处理Region分片

3、RegionServer 组件

9193428-58dbc74d4fd9f56f.png

1)Write-Ahead logs
HBase的修改记录,当对HBase读写数据的时候,数据不是直接写进磁盘,它会在内存中保留一段时间(时间以及数据量阈值可以设定)。但把数据保存在内存中可能有更高的概率引起数据丢失,为了解决这个问题,数据会先写在一个叫做Write-Ahead logfile的文件中,然后再写入内存中。所以在系统出现故障的时候,数据可以通过这个日志文件重建,每个RegionServer有一个WAL,被所有Region共享;

2)Region
Hbase表的分片,HBase表会根据RowKey值被切分成不同的region存储在RegionServer中,在一个RegionServer中可以有多个不同的region,Region是hbase最小的逻辑存储单元,但是物理的还有StoreFile,Hfile,一个Region包含一个或者多个StoreFile,RegionServer是为Region服务的,
一个Region只能由一个RegionServer服务,但是一个RegionServer可以服务多个Region

3)Store
一个Store对应HBase表中的一个列族,一个Store包含一个或多个StoreFile

4)MemStore
一个Store包含一个MemStore,顾名思义,就是内存存储,位于内存中,用来保存当前的数据操作,所以当数据保存在WAL中之后,RegsionServer会在内存中存储键值对

5)StoreFile
一个StoreFile包含一个或者多个Hfile
一个Region包含一个或者多个StoreFile,而一个StoreFile对应一个ColumnFamily,所以一个Region会包含一个或者多个ColumnFamily

6)HFile
HFile是MemStore的持久化存储,这是在磁盘上保存原始数据的实际的物理文件,是实际的存储文件。
当MemStore的容量达到设定阈值后,会被持久化到HFile,由于顺序写,因此速度会很快

9193428-e58e3bac715924e2.png

 

4、RegionServer 小结

RegionServer打开一个region的时候,会创建一个相应的HRegion对象。当这个HRegion被打开,他会为每一个表中的 每一个列簇创建一个Stroe实例,就想用户之前创建的那样。每一个Store实例相应地有一个或者多个StoreFile实例,StoreFile是对真正存储数据的文件(HFile)的轻量级封装。一个Store还会有一个Memstore。每一个HRegionServer中的所有东西会共享一个HLog实例。

hbase table中每个列簇都对应着region中的一个store,在hdfs系统中则对应着一个目录,如果列簇中尚无数据,怎该目录为空,也就是该store下还没有storefile。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值