Hadoop学习之读写流程与模块之间的协作

我爱海鲸 2022-04-07 20:25:50 暂无标签

简介读写流程具体操作、模块的协作

1、HBase写入流程:

Client会先访问zookeeper,得到对应的RegionServer地址

Client对RegionServer发起写请求,RegionServer接受数据写入内存

当MemStore的大小达到一定的值后,flush到StoreFile并存储到HDFS

2、Hbase读流程:

Client会先访问zookeeper,得到对应的RegionServer地址

Client对RegionServer发起读请求

当RegionServer收到client的读请求后,先扫描自己的Memstore,再扫描BlockCache (加速读内容缓存区)如果还没找到则StoreFile中读取数据,然后将数据返回给Client

3、总结

从上述的流程中我们可以看出数据的读写操作和Hmaster没有半毛钱关系

4、Hbase的模块协作

首先我们提出三个问题:

HBase启动时发生了什么?

当RegionServer失效后会发生什么?

当HMaster失效后会发生什么?

1)、HBase启动:

HMaster启动,注册到Zookeeper,等待RegionServer汇报

RegionServer注册到Zookeeper,并向HMaster汇报

对各个RegionServer (包括失效的)的数据进行整理,分配Region和meta信息。

2)、RegionServer失效:

HMaster将失效RegionServer上的Region分配到其他节点

HMaster更新hbase: meta表以保证数据正常访问

3)、HMaster失效:

处于Backup状态的其他HMaster节点推选出一个转为Active状态

数据能正常读写,但是不能创建删除表,也不能更改表结构

你好:我的2025