首页 > 其他分享 >Hbase的底层操作原理

Hbase的底层操作原理

时间:2024-03-07 17:15:13浏览次数:28  
标签:读取 region meta HregionServer 原理 Hbase 数据 HLog 底层

1、HBase读流程

 

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

 

2、HBase写流程

 

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

标签:读取,region,meta,HregionServer,原理,Hbase,数据,HLog,底层
From: https://www.cnblogs.com/juncaoit/p/18059294

相关文章

  • Hbase介绍
    什么是HbaseHbase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价的PCServer上搭建大规模结构化存储集群。利用HadoopHDFS作为其文件存储系统,利用HadoopMapReduce来处理Hbase中的海量数据,利用Zookeeper作为其分布式协同服务主要......
  • 快捷方式在Windows操作系统中提供了一种方便快捷地访问程序或文件的方法,可以分别存在
    快捷方式在Windows操作系统中提供了一种方便快捷地访问程序或文件的方法,可以分别存在于桌面、开始菜单和任务栏等位置。下面是关于快捷方式在不同位置的技术原理:桌面快捷方式:桌面快捷方式实际上是一个.lnk文件,它包含了指向目标文件或程序的路径信息以及其他属性。创建桌面快捷......
  • 从原理到实践,大咖带你拆解人工智能的神秘面纱
    在当今数字化时代,人工智能(AI)技术已经成为我们生活中不可或缺的一部分。然而,要构建出可信赖的AI系统并非易事。这需要我们不仅深入理解人工智能的核心原理,还需要将这些理论知识应用到实际场景中。为了帮助大家系统地掌握人工智能的核心原理及在实际中的应用场景,我们特别推出了如何......
  • TIDB简介及TIDB部署、原理和使用介绍
    从MySQL架构到TiDB数据库分类​介绍TiDB数据库之前,先引入使用场景。如今的数据库种类繁多,RDBMS(关系型数据库)、NoSQL(NotOnlySQL)、NewSQL,在数据库领域均有一席之地,可谓百家争鸣之势。那么为什么要使用TiDB呢?接下来就从最熟悉的MySQL的使用说起。MySQL痛点​假设现在有一个高速......
  • 计算机组成原理·指令系统
    指令系统指令系统是指令集体系结构ISA的核心ISA主要包括:指令格式数据类型及格式操作数的存放方式程序可访问的寄存器个数、位数和编号存储空间大小和编址方式寻址方式指令执行过程的控制方式等指令的基本格式一条指令包括操作码和地址码字段操作码地址码......
  • ArrayList底层原理
    JDK版本11ArrayList类声明其中RandomAccess、Cloneable、Serializable都是标记接口,用来表示ArrayList支持随机读取、克隆和序列化反序列化。ArrayList集合添加元素底层原理利用空参创建集合,在底层创建一个默认长度为0的数组。添加第一个元素时,底层会创建一个新的长度为10......
  • React jsx 语法解析 & 转换原理
    jsx介绍jsx是一种JavaScript的语法扩展(eXtension),也在很多地方称之为JavaScriptXML,因为看起就是一段XML语法,用于描述UI界面,并且可以和JavaScript代码结合使用。比起vue中的模板语法,更加灵活,且不需要学习模板语法中的特定标签,比如:v-if、v-for、v-bind等,而是直接使用JavaScript语......
  • 面试官:说说微服务灰度发布的底层实现?
    微服务中的灰度发布(又称为金丝雀发布)是一种持续部署策略,它允许在正式环境的小部分用户群体上先部署新版本的应用程序或服务,而不是一次性对所有用户同时发布全新的版本。这种方式有助于在生产环境中逐步验证新版本的稳定性和兼容性,同时最小化潜在风险,不影响大部分用户的正常使用......
  • 河北稳控科技岩土工程安全监测仪器振弦采集仪的原理与应用
    岩土工程安全监测仪器振弦采集仪的原理与应用岩土工程安全监测仪器振弦采集仪是一种用于测量土地和岩石的动力特性的仪器。其原理是利用振动传播在土壤和岩石中的速度来推断地下结构物的品质,如土质的密度、弹性模量、泊松比等。河北稳控科技振弦采集仪的工作原理基于谐波振动的......
  • JVM原理
    一、概念JVM是Java-Virtual-Machine的缩写,即Java虚拟机。JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。首先一次编译处处运行是学习Java语言都知道的事情,其实并不是Java语言跨平台,是JVM跨平台,Jvm运行时并不是执......