hbase的组织架构

hbase的组织架构

在这里插入图片描述

客户端

hbase的客户端是访问hbase的客户端可以是linux的shell命令,java的等

zookeeper

zookeeper用于监控Hmasetr的状态,保证有且只有一个Hmaster活跃,达到高可用的目的。可以存储元数据表的寻址入口,元数据表中存储着region的寻址入口。实时监控regionserver的上线下线,并通知Hmaster。

Hmaster

为HRegionServer分配region(新建表)
负责维持regionserver的负载均衡
负责region的重新分配(一个region的数据到达阈值后会将region分割形成两个region,Hmaster将这两个region分配给Hregionserver维持每个Hregionserver 的负载均衡。
Hregionserver宕机后将其管理的region重新分配给其他Hregionserver进行管理)
hdfs上的垃圾的回收
处理schema的更新请求

regionserver

维护Hmaster分配的region(管理本机的region)
处理客户端的读写请求,与hdfs进行交互
负责具体的切分region

Hlog

对Hbase的操作进行记录。使用WAL(优先写入Hlog)(put:操作先写入Hlog在写memstore,这样可以防止数据的丢失,Hlog中可能存储数张表的操作记录hlog直接存储在hdfs上没有缓存),若是数据丢失可以通过hlog回滚,如果在写入日志时宕机数据将会丢失

Hregion

Hregion是hbase的存储和负载中最小的一单元,他是表或者表的一部分。

store

相当于列簇,里面有一个Memstore(大小为128M)

Memstore

内存缓冲区,用于将数据批量刷新到hdfs中,默认大小为128M
一个memstor对应多个hfile(写入hdfs系统的文件)

HStoreFile :

	和HFile概念意义,不过是一个逻辑概念。HBase中的数据是以HFile存储在Hdfs上。

storefile

HFile是数据存储得实际载体。这里先说一下HFile和StoreFile。Hbase是基于java编写得,那么所有物理上得东西都有一个对象与它对象,在物理存储上我们管StoreFile刷写而成得文件叫HFile,StoreFile是HFile得抽象类而已。

组件关系

hmster:hregionserver=1:* 							一对多
hregionserver:hregion=1:*						一对多
hregion:hstore=1:*									一对多
hstore:memstore=1:1								一对一
store:storefile=1:*									一对多
storefile:hfile=1:1										一对一
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值