2021年大数据HBase(十三):HBase读取和存储数据的流程

Posted Lansonli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021年大数据HBase(十三):HBase读取和存储数据的流程相关的知识,希望对你有一定的参考价值。

全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 

新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点。

目录

系列历史文章

HBase读取和存储数据的流程

一、HBase读取数据的流程

二、HBase存储数据的流程

客户端的同步流程: 

异步服务器端执行过程:


系列历史文章

2021年大数据HBase(十三):HBase读取和存储数据的流程​​​​​​​

2021年大数据HBase(十二):Apache Phoenix 二级索引

2021年大数据HBase(十一):Apache Phoenix的视图操作

2021年大数据HBase(十):Apache Phoenix的基本入门操作

2021年大数据HBase(九):Apache Phoenix的安装

2021年大数据HBase(八):Apache Phoenix的基本介绍

2021年大数据HBase(七):Hbase的架构!【建议收藏】

2021年大数据HBase(六):HBase的高可用!【建议收藏】

2021年大数据HBase(五):HBase的相关操作-JavaAPI方式!【建议收藏】

2021年大数据HBase(四):HBase的相关操作-客户端命令式!【建议收藏】

2021年大数据HBase(三):HBase数据模型

2021年大数据HBase(二):HBase集群安装操作

2021年大数据HBase(一):HBase基本简介

HBase读取和存储数据的流程

一、HBase读取数据的流程

1、由客户端发起读取数据的请求, 首先先连接 zookeeper , 从zookeeper获取hbase:meta表被哪个regionServer所管理meta表中主要记录了 hbase中各个表有那些region,以及每个region被哪个regionServer所管理hbase中非常特殊的元数据存储表, 此表只会有一个region


2、连接meta对应的regionServer, 从meta中获取要查询数据的在那些region中, 并将其对应regionServer地址返回给客户端

3、开始并行的连接这些regionServer, 从这些regionServer中获取数据,先从 memStore  --> blockCache ---> storeFile  ---> 大的Hfile


4、各个regionserver将读取到数据返回给client , client根据需要过滤出需要的数据, 最后展示给调用者

 

二、HBase存储数据的流程

客户端的同步流程: 

1、客户端发起写入数据的请求, 首先会先连接zookeeper, 从zookeeper获取hbase:meta表所在的regionServer的地址


2、连接meta表对应的regionServer, 从meta表获取目标表对应要写入数据的region的地址(基于region的startkey和endKey来确定)


3、连接对应region的regionServer的地址, 开始进行数据的写入


4、首先先将数据写入到这个regionServer的Hlog日志中, 然后在将数据写入到 对应的region中store模块的memStore中, 当这个两个地方都写入完成后, 客户端就会认为数据写入完成了

异步服务器端执行过程:

5、客户端不断的进行数据的写入工作, memStore数据也会不断的增多, 当memStore中数据达到一定的阈值(128M|1小时)后, 内部最终启动一个flush线程, 将数据刷新到HDFS上, 形成一个storeFile文件


6、随着memStore不断刷新数据到HDFS中, storeFile文件也会越来越多, 当storeFile的文件达到一定的阈值后(3个及以上), 启动compact线程, 将多个文件合并最终合并为一个大文件(Hfile)


7、随着不断的合并, 这个大的Hfile文件也会越来越大, 当这个大的Hfile达到一定的阈值(最终10GB)后, 启动split机制, 将大的Hfile一分为二的操作, 此时region也会进行分割操作, 变成两个新的region, 每个region管理每个分割后新的Hfile文件, 原有就得region就会被下线


8、随着不断的进行split, 表的region的数量也会越来越多的


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢大数据系列文章会每天更新,停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

以上是关于2021年大数据HBase(十三):HBase读取和存储数据的流程的主要内容,如果未能解决你的问题,请参考以下文章

2021年大数据HBase:HBase数据模型!!!建议收藏

2021年大数据HBase:Hbase的架构!建议收藏

2021年大数据HBase:Hbase的架构!建议收藏

2021年大数据Hbase:Hbase基本简介

2021年大数据Hbase:HBase集群安装操作

2021年大数据HBase(十七):HBase的360度全面调优