HBase 读写流程

ops/2025/1/23 23:17:07/

HBase 读写流程

1. 读流程

在这里插入图片描述

  1. Client先访问zookeeper,从zookeeper获取meta region的位置
  2. 从meta region中读取meta表中的数据,meta中存储了用户表的region信息;根据namespace、表名和rowkey在meta表中找到对应的region信息;
  3. 找到这个region对应的regionserver,查找对应的region;
  4. 先从MemStore找数据,如果没有,再到BlockCache里面读;
  5. BlockCache还没有,再到StoreFile上读(为了读取的效率);
  6. 如果是从StoreFile里面读取的数据,不是直接返回给客户端,而是先写入BlockCache,再返回给客户端。

2. 写流程

在这里插入图片描述

  1. Client向HregionServer发送写请求;
  2. HregionServer将数据写到HLog(write ahead log)。为了数据的持久化和恢复;
  3. HregionServer将数据写到内存(MemStore);
  4. 反馈Client写成功。

3. 数据Flush过程

  1. 当MemStore数据达到阈值(默认是128M,老版本是64M),将数据刷到硬盘,将内存中的数据删除,同时删除HLog中的历史数据;
  2. 并将数据存储到HDFS中;
  3. 在HLog中做标记点。

4. 数据合并过程

  1. 当数据块达到4块,Hmaster触发合并操作,Region将数据块加载到本地,进行合并;
  2. 当合并的数据超过256M,进行拆分,将拆分后的Region分配给不同的HregionServer管理;
  3. 当HregionServer宕机后,将HregionServer上的hlog拆分,然后分配给不同的HregionServer加载,修改.META.;
  4. 注意:HLog会同步到HDFS。

5. 参考

  • https://blog.csdn.net/qq_34341930/article/details/105098516

http://www.ppmy.cn/ops/39449.html

相关文章

Qt——信号 和 槽

目录 概述 信号和槽的使用 自定义信号和槽 带参数的信号和槽 概述 在Linux系统中,我们也介绍了信号的产生、信号的检测以及信号的处理机制,它就是系统内部的通知机制,也可以是一种进程间通信的方式。在系统中有很多信号,我们可…

Flask-大体了解介绍

初识Flask Flask是使用 Python编写的Web微框架。Web框架可以让我们不用关心底层的请求响应处理,更方便高效地编写Web程序。 Flask主要有两个依赖,一个是WSGI(Web Server Gateway Interface,Web服务器网关接口)工具集…

机器学习期中知识点

前言 疑似要有期中考试,赶紧复习复习,总结一下 正文 第一章ppt 这一章ppt的主要内容包括:什么是机器学习,机器学习有哪些应用,大概学习路径,机器学习框架 什么是机器学习 人是怎么做决策的?显然,我们从经历中学习,不管是自己的还是别人的,然后我们根据这些学习结果做出一…

【C++】get( )函数

一,C get( )函数 分类:无参数的;有一个参数的;有3个参数的。 1,无参数的 调用形式: cin.get() 注:这是用来从指定的输入流中提取一个字符(包括空白字符)&#xff0c…

推荐算法顶会论文博客笔记合集

小小挖掘机学习笔记 https://mp.weixin.qq.com/s/rp2xXueEyT8IKvTr2Qss3A 推荐系统学习笔记 https://blog.csdn.net/wuzhongqiang/category_10128687.html SIGIR SIGIR 2022 | 推荐系统相关论文分类整理:8.74 https://mp.weixin.qq.com/s/vH0qJ-jGHL7s5wSn7Oy…

Colab/PyTorch - 002 Pre Trained Models for Image Classification

Colab/PyTorch - 002 Pre Trained Models for Image Classification 1. 源由2. 图像分类的预训练模型3. 示例 - AlexNet/ResNet1013.1 模型推断过程3.2 使用TorchVision加载预训练网络3.3 使用AlexNet进行图像分类3.3.1 Step1:加载预训练模型3.3.2 Step2&#xff1a…

RFID在汽车制造中的应用如何改变行业

随着工业4.0和中国制造2025的推进,企业对于智能化、自动化的需求日益增长,RFID射频技术在制造业中已经相当普遍了。在如今这瞬息万变的行业与时代中,RFID技术可以帮助企业获得竞争优势,简化日益复杂的生产流程,推动企业…

ubuntu中运行c# winform程序

ubuntu中运行c# winform程序 在Ubuntu中运行C# WinForms程序,你需要安装Mono这个跨平台的.NET框架。以下是安装和运行C# WinForms程序的步骤: 打开终端。 安装Mono。可以使用Ubuntu的包管理器apt来安装Mono。 sudo apt-get update sudo apt-get insta…