HBase(入门三)读写流程

本文详细介绍了HBase的集群类型,包括单机模型、小型集群、中型集群和大型集群,并阐述了HBase的读写流程及关键机制:flush、compact和split机制。此外还解释了HBase的组件如Hfile、Store、MemStore、Region和Zookeeper的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.HBase和Hadoop的集群类型
1.单机模型
主要用于开发工作,一台机器上运行所有的守护进程,或者一台机器运行多个虚拟机,一般用于评估和测试.
2.小型集群
20台机器以内的集群,不同的机器运行不同的守护线程,适用于数据量和处理请求较小的小型生产环境.
3.中型集群
20到1000台机器集群,3到5个zooKeeper节点,适用于成熟的生产环境.
4.大型集群
1000台机器以上的集群,属于超大规模集群了,适用于大规模生产环境.
二.HBase的读写流程
1.HBase读数据流程
HRegionserver保存着meta表以及表数据,要访问表数据的时候,首先Client选取访问zookeeper,获取到meta表所在的位置信息,即找到这个meta表在哪个HRegionServer上保存着.
接着Client通过刚才获取到的HRegionServer的IP来访问meta表所在的HRegionServer,从而读取到Meta,进而获取到Meta表中存放的元数据.
Client通过元数据中的存储的信息,访问对应的HRegionServer,然后扫描所在HRegionServerde Memstore和Storefile来查询数据.
最后HRegionServer把查询到的数据相应给Client.
在这里插入图片描述
2.HBase写数据的流程
Client也是先访问zookeeper,找到Meta表,并获取Meta表的元数据.
确定当前将要写入的数据所对应的HRegion和HRegionServer服务器.
Client向该HRegionServer服务器发起写入数据请求,然后HRegionServer收到请求并响应.
Client先把数据写入到本地的Hlog中,以防止数据的丢失.
然后将数据写入到Memstore.
如果HLog和Memstore都写入成功以后,则这条数据写入成功.
如果Memstore达到阈值,会把Memstore中的数据flush到Storefile中.
当storefile越来越多,会触发Compact合并操作,把过多的Storefile合并成一个大的Storefile.
当Storefile越来越大,Region也会越来越大,达到阈值后,会触发Split操作,将Region分割.
在这里插入图片描述
三.HBase中的3个重要机制
3.1flush机制
当MenmStore达到阈值,将Memstore中的数据Flush进Storefile
3.2compact机制
把小的MEMSTORE文件合并成大的Storefile文件
3.3split机制
当Region达到阈值,会把过大的Region一分为二.
四.文件格式说明
tsv格式文件:字段之间以制表符\t分割
csv格式文件:字符之间以逗号分割
五.HBase内含组件
Hfile
Hfile在磁盘上保存原始数据的实际的物理文件,是实际的存储文件.
Store
HFile存储在Store中,一个Store对应HBase表中的一个列族.
MemStore
顾名思义,就是内存存储,位于内存中,用来保存当前的数据操作,所以当数据保存在WAL中之后,RegionServer会在内存中存储键值对.
Region
HBase表的分片,HBase表会根据RowKey值被切分成不同的region存储在RegionServer中,在一个RegionServer中可以有不同的region.

Zookeeper
HMaster和HRegionServerr启动时会向ZooKeeper注册,存储所有HRegion的寻址入口,实时监控HRegionserver的上线和下线信息,并实时通知给HMaster,存储HBase的schema和table元数据,默认情况下,HBase管理ZooKeeper实例,ZooKeeper的引入使得HMaster不再是单点故障.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值