HBase知识点整理

结构

Region server

负责实际数据的读写,当访问数据时,客户端与HBase的RegionServer直接通信。RegionServer负责管理多个Region,负责在此上面的所有Region的读写操作。运行在HDFS的DataNode上,包含四部分:WAL,BlockCache(读缓存),MemStore(写缓存),HFiles(keyvalue对)

Master Server

管理Region的位置,当集群处于数据恢复或动态调整时,分配Region到某一个RegionServer中,监控所有RegionServer的状态,提供DDL(新增和删除表结构)相关的API。

ZooKeeper

负责维护和记录整个HBase集群的状态,分布式的无中心的元数据存储服务。

读写操作

HBase把各个region的位置信息存储在META表里,META表存储在zookeeper中。
访问流程

Client ZooKeeper MetaTable RegionServer getMetaTable Meta Table Info getRegionServer RegionServerInfo cacheMetaTable&RegionServerInfo getData data Client ZooKeeper MetaTable RegionServer
Meta Table的结构

Key: region的开始rowkey, regionid
Value: RegionServer

写入流程

Client RS WAL MemStore Put append save ACK Client RS WAL MemStore
MemStore的结构

在内存里按key的顺序存储key-value对,一个Memstore对应一个CF
同样HFile中key-value对也是key有序的。

HFile的结构

保存了多级索引,查询请求不需要遍历整个HFile
打开HFile后,系统自动缓存HFile的索引在BlockCache中。

混合读

Client BlockCache MemStore HFile get no get no get yes, dataInfo Client BlockCache MemStore HFile

Minor Compaction

HBase自动选择较小的HFile, 将它们合并成更大的HFile,减小HFile的数量

Major Compaction

Major compaction指一个region下的所有HFile做归并排序, 最后形成一个大的HFile

Region

Region=一组连续的key,一张表垂直分成一个或多个region

灾难恢复

RS_A Zookeeper Master RS_B notHeartBeat crashRS asignRegion sendWALinRS_A ReplayWAL RS_A Zookeeper Master RS_B

Reference

[1]. 深度分析HBase架构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值