hbase进阶操作——读流程与写流程介绍

news2024/11/23 12:06:16

系列文章目录

centos7虚拟机下hbase的使用案例讲解

文章目录

系列文章目录

一、hbase架构原理

 1.1、StoreFile

1.2、MemStore

1.3、WAL

二、hbase的写流程

2.1、写流程的流程图

 2.2、写流程的流程图说明

三、hbase读流程

3.1、读流程的流程图

3.2、读流程的流程图解释

四、zookeeper客户端查看hbase的meta表的步骤

4.1、查看zookeeper客户端

 4.2、查看根目录

4.3、查看hbase文件夹

4.4、查看meta-region-server内容

 五、hbase客户端

 5.1、加入hbase客户端​编辑

 5.2、查看hbase:meta信息

5.3、meta表的条目介绍

 5.4、在Hadoop的界面查看log日志文件


前言

本文主要介绍hbase的写和读流程,以及zookeeper在客户端查看hbase的meta内容。本文案例仅供参考。

一、hbase架构原理

 1.1、StoreFile

保存实际数据的物理文件,StoreFile HFile 的形式存储在 HDFS 上。每个 Store 会有

一个或多个 StoreFileHFile),数据在每个 StoreFile 中都是有序的。

1.2、MemStore

写缓存,由于 HFile 中的数据要求是有序的,所以数据是先存储在 MemStore 中,排好

序后,等到达刷写时机才会刷写到 HFile,每次刷写都会形成一个新的 HFile

1.3、WAL

由于数据要经 MemStore 排序后才能刷写到 HFile,但把数据保存在内存中会有很高的

概率导致数据丢失,为了解决这个问题,数据会先写在一个叫做 Write-Ahead logfile 的文件

中,然后再写入 MemStore 中。所以在系统出现故障的时候,数据可以通过这个日志文件重

建。

二、hbase的写流程

2.1、写流程的流程图

 2.2、写流程的流程图说明

1Client 先访问 zookeeper,获取 hbase:meta 表位于哪个 Region Server

2)访问对应的 Region Server,获取 hbase:meta 表,根据请求的 namespace:table/rowkey

查询出目标数据位于哪个 Region Server 中的哪个 Region 中。并将该 table region 信息以

meta 表的位置信息缓存在客户端的 meta cache,方便下次访问。

3)与目标 Region Server 进行通讯;

4)将数据顺序写入(追加)到 WAL

5)将数据写入对应的 MemStore,数据会在 MemStore 进行排序;

6)向客户端发送 ack

7)等达到 MemStore 的刷写时机后,将数据刷写到 HFile。

三、hbase读流程

3.1、读流程的流程图

 

3.2、读流程的流程图解释

1Client 先访问 zookeeper,获取 hbase:meta 表位于哪个 Region Server

2)访问对应的 Region Server,获取 hbase:meta 表,根据读请求的 namespace:table/rowkey

查询出目标数据位于哪个 Region Server 中的哪个 Region 中。并将该 table region 信息以

meta 表的位置信息缓存在客户端的 meta cache,方便下次访问。

3)与目标 Region Server 进行通讯;

4)分别在 Block Cache(读缓存),MemStore Store FileHFile)中查询目标数据,并将

查到的所有数据进行合并。此处所有数据是指同一条数据的不同版本(time stamp)或者不

同的类型(Put/Delete)。

5 将从文件中查询到的数据块(BlockHFile 数据存储单元,默认大小为 64KB)缓存到

Block Cache

6)将合并后的最终结果返回给客户端。

四、zookeeper客户端查看hbase的meta表的步骤

4.1、查看zookeeper客户端

 4.2、查看根目录

4.3、查看hbase文件夹

 

4.4、查看meta-region-server内容

 

 五、hbase客户端

此处小编的master节点是103

 退出zookeeper客户端:quit

 5.1、加入hbase客户端

 5.2、查看hbase:meta信息

 对meta表内容的解释:

5.3、meta表的条目介绍

flash +表即可以将hbase的内容写入,不写入数据还是在内存当中

 5.4、在Hadoop的界面查看log日志文件

 

从这里可以看到文件在三个节点都存储了,所以即便一个节点数据丢失,对其他结点的影响也很小,可以恢复过来 

 

总结

以上就是hbase的进阶内容,

最后欢迎大家点赞👍,收藏⭐,转发🚀,
如有问题、建议,请您在评论区留言💬哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/430187.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C/C++|物联网开发入门+项目实战|指针|嵌入式C语言高级|C语言内存空间的使用-学习笔记(9)

文章目录2-3 : C语言内存空间的使用指针概述示例:指针修饰符指针运算符示例示例1多级指针例子省略argc(个数)的常用写法:参考: 麦子学院-嵌入式C语言高级-内存空间2-3 : C语言内存空间的使用 指针概述 内存类型资源地…

CPU工作原理

CPU(中央处理器)是计算机中的重要组件,它负责执行计算机程序中的指令。在了解CPU的工作原理之前,我们需要先了解一些基本概念。 指令和指令集 指令是计算机程序中的基本单位,它指示计算机执行某个操作。指令集是一组…

我在“Now In Android”中学到的 9 件事

我在“Now In Android”中学到的 9 件事 Now in Android是一款功能齐全的 Android 应用程序,完全使用 Kotlin 和 Jetpack Compose 构建。它遵循 Android 设计和开发最佳实践,旨在为开发人员提供有用的参考。 https://github.com/android/nowinandroid UI…

淘宝悄悄内测“店号一体”的新模式

4月17日消息,淘宝近日已开始小规模测试“店号一体”新模式。新模式下,淘宝店铺将与逛逛、直播等账号完全打通;此前针对达人及内容型商家的新店铺模式“视频内容店”也同步升级。 内测商家透露,目前在淘宝发布的图文、短视频、直播…

腾讯学长分享的这份Java面试八股文手册,让我GitHub下载量破百万!!!

一些不满现状,被外界的“高薪”“好福利”吸引的人,一般就在这时候毅然决然地跳槽了。 跳槽是为了寻求更好的发展,但在跳槽前我们也不能确定下家就是更好的归宿,这就更加需要我们审慎地去对待,不能盲目跳槽。 其次&a…

知识图谱专栏简介:数据增强,智能标注,文本信息抽取(实体关系事件抽取)、知识融合算法方案、知识推理、模型优化、模型压缩技术等

知识图谱专栏简介:数据增强,智能标注,文本信息抽取(实体关系事件抽取)、知识融合算法方案、知识推理、模型优化、模型压缩技术等 专栏链接:NLP知识图谱相关技术业务落地方案和码源 NLP知识图谱相关技术业…

程序员跳槽薪水涨了一倍,谈谈java工程师找新工作的八大技巧

大家好,这几天发生了一些事情,我找到了一份新工作,明天是第一天上班。我想先谈一下我的新工作待遇,因为我觉得相对来说还算比较满意。接下来我想谈一下我的个人经历,从毕业到现在的工作经历。第三个话题是我最近半个月…

k-d Tree算法

1.概述 本文介绍一种用于高维空间中的快速最近邻和近似最近邻查找技术——Kd- Tree(Kd树)。Kd-Tree,即K-dimensional tree,是一种高维索引树形数据结构,常用于在大规模的高维数据空间进行最近邻查找(Nearest Neighbor)和近似最近邻查找(Appro…

Java工程行业管理系统源码-专业的工程管理软件-提供一站式服务

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示1…

反向代理自建教程:你懂的

一、为什么需要自建反代 OpenAI提供了两种访问方式,一种是直接在ChatGPT网页端使用的Access Token方式,这种方式可以免费使用GPT-3.5模型,只需要登录即可使用。但缺点是不稳定,且无法扩展。另一种是使用API,注册用户可…

Nacos 客户端服务注册源码分析-篇三

Nacos 客户端服务注册源码分析-篇三 版本说明: 源码版本 nacos-1.4.2 Nacos 的核心功能点 服务注册: Nacos Client 会通过发送 REST 请求的方式向 Nacos Server 注册自己的服务,提供自身的元数据,比如 ip 地址以及端口等信息。Na…

Sentinal持久化到Nacos

Springboot应用整合Sentinel实现限流、熔断、降级笔记https://blog.csdn.net/chenjian723122704/article/details/130101875 Sentinel版本 1.8.6 Nacos版本 2.2.0 下载Sentinel源码 Sentinel1.8.6:https://github.com/alibaba/Sentinel/releases/tag/1.8.6 拷贝源…

AtCoder Beginner Contest 295——F - substr = S

蒟蒻来讲题,还望大家喜。若哪有问题,大家尽可提! Hello, 大家好哇!本初中生蒟蒻讲解一下AtCoder Beginner Contest 295这场比赛的F题! F - substr S 原题 Problem Statement You are given a string SSS consisti…

双塔模型:微软DSSM模型浅析

1.背景 DSSM是Deep Structured Semantic Model (深层结构语义模型) 的缩写,即我们通常说的基于深度网络的语义模型,其核心思想是将query和doc映射到到共同维度的语义空间中,通过最大化query和doc语义向量之间的余弦相似度,从而训…

2023好玩的解压游戏,压力大点开玩可以放松自己

你是不是经常感觉到压力大? 现代社会,竞争逐步激烈,不管是来自学习上,工作上,还是生活上的,压力都非常大! 这时候,我们要学会自我减压,有效的放松是为了更好地前行。 …

JavaWeb开发 —— MyBatis基本操作

目录 一、环境准备 二、删除操作实现 1. 根据主键删除 2. 删除(预编译SQL) 2.1 SQL注入 2.2 参数占位符 三、新增操作实现 1. 新增代码实现 2. 新增(主键返回) 四、更新操作实现 五、查询操作实现 1. 根据ID查询 1.1…

【Python】pip 和 conda install、list的区别,是否一致

【Python】pip 和 conda install、list的区别,是否一致 文章目录【Python】pip 和 conda install、list的区别,是否一致1. 介绍2. 看效果2.1 首先,conda 创建环境2.2 然后,激活环境2.3 查看环境下已经安装包列表2.4 安装新的包&am…

【2023最新】超详细图文保姆级教程:App开发新手入门(2)

上章节我们已经成功的创建了一个 App 项目,接下来我们讲述一下,如何导入项目、编辑代码和提交项目代码。 Let’s Go! 4. 项目导入 当用户创建一个新的应用时,YonStudio 开发工具会自动导入模板项目的默认代码,不需要手动进行代…

C语言的Hello World的汇编剖析(64位 Intel架构)

C语言的Hello World的汇编剖析(64位 Intel架构) 文章目录C语言的Hello World的汇编剖析(64位 Intel架构)一. 前提准备二. C转换为汇编操作准备2.1 创建目录&复制代码2.2 C文件转换为汇编文件三. 剖析汇编文件四. 指令相关五. …

TenserRT(三)PYTORCH 转 ONNX 详解

第三章:PyTorch 转 ONNX 详解 — mmdeploy 0.12.0 文档 torch.onnx — PyTorch 2.0 documentation torch.onnx.export 细解 计算图导出方法 TorchScript是一种序列化和优化PyTorch模型的格式,将torch.nn.Module模型转换为TorchScript的torch.jit.Scr…