HBase

(一)HBase 的基本架构
HBase 架构
1、Region Server 实现类HRegionServer
Region的管理者;
对于数据:get put delete
对于Region:splitRegion compactRegion

2、Master 它的实现类HMaster
所有Region Server 的管理者;
对于表:create delete alter
对于RegionServer :分配regions 到每个RegionServer;监控每个RegionServer的状态,负载均衡和故障转移

3、Zookeeper
Zookeeper来做Master的高可用、RegionServer的监控、元数据的入口以及集群配置的维护等工作。

4、HDFS
为HBase 提供最终的底层数据存储服务
(二)HBase 的进阶架构

HBase 详细架构
1、StoreFile
StoreFile 以HFile的形式储存在HDFS;Store种存在多个HFile ,数据在每个StoreFile中是有序的
2、MemStore
数据先存储在MemStore中进行排序,等到刷写时机刷写到HFile
3、WAL(HLog)
数据保存在内存中存在很高的概率丢失数据,所以,在这之前,会先写入WAL(Write-Ahead logfile)之中,然后再写入MemStore

(三)HBase 的写数据流程
HBase写数据流程
MemStore的刷写时机

①大小达到 hbase.hregion.memstore.flush.size(默认值128M)所在region所有的memstore都会刷写

②当memstore的大小 到达 hbase.hregion.memstore.flush.size(默认值128M)* hbase.hregion.memstore.block.multiplier(默认值4),会阻止往memstore写数据

③ 当regionserver 中memstore总大小达到
java_heapsize
*hbase.regionserver.global.memstore.size(默认值0.4)
*hbase.regionserver.global.memstore.size.lower.limit(默认值0.95)
④ 到达刷写的时间也会出发memstore flush hbase.regionserver.optionalcacheflushinterval(默认1小时)

⑤ 当WAL 文件的数量超过hbase.regionserver.max.logs region(最大值 32)会按照时间的顺序进行刷写

(三)HBase的读数据流程
HBase 读数据流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值