hbase详细架构图(Hbase扩容原理)

:暂无数据 2025-08-25 22:40:02 0
大家好,关于hbase详细架构图很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于Hbase扩容原理的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

本文目录

Hbase扩容原理

Hbase是Hadoop的一个存储组件可以提供低延迟的读写操作,它一般构建在HDFS之上,可以处理海量的数据。Hbase有个很好的特性是可以自动分片,也就是意味着当表的数据量变得很大的时候,系统可以自动的分配这些数据。

Hbase的基本存储单位是Region,Region是表数据的子集,多个Region的数据集合可以组成一张完成的表数据。Region本质上存储的一些排好序的,连续的行数据。最初的时候一张表只有一个Region,当Region变得非常大的时候,Region就会从中间分裂成两个基本等大的Region。

在Hbase中,slave也被称作RegionServer,每个RegionServer负责管理一些Region,同时一个Region只能属于一个RegionServer。

一个RegionServer可以服务一个或多个Region,每个Region在Region Server启动的时候被分配。Master可以决定将一些Region从一个RegionServer中移动到令一个RegionServer里面,以便更好的负载均衡。当某个RegionServer故障的时候,Master也可以将它的Region分配给其他的RegionServer。

Region与RegionServer之间的映射关系存储在Zookeeper中的META表中,通过读取META表,你就可以知道那个Region可以负责处理你的rowkey操作,其实这也代表着在HBase读写操作的时候是不用经过Master节点的,你可以之间联系RegionServer。

如图,在客户端进行scan的时候,它可以之间联系多个RegionServer处理当前的操作。

Meta表是用来跟踪Region的,它包含服务器的名称,Region的名称,表名,还有Region的startkey。通过startkey的范围,客户端就可以定位到当前的key要去哪一个Region了。

客户端在请求过META表之后,一般会将表缓存起来,防止每次操作都去获取。在Region进行分裂的时候,客户端去RegionServer操作Region的时候回返回异常,然后客户端会重新获取最新的META表信息。

Hbase的Java客户端API有两个主要的接口:

通过上面介绍,可以知道HBase虽然是Master/Slave架构的,但是并不是每次操作都经过Master的,读写数据的时候HBase只需要直接联系RegionServer即可。这也是HBase可以“无限扩容”的原因。在吞吐量不够的时候,通过增加RegionServer节点,可以增加吞吐量。

HBASE-Procedure架构

Hbase Procedure是HBASE服务端负责事物处理的一个架构,写的非常棒。。。可以扒下来改一改自己用的那种。。。

实现事物,需要处理的问题很多,主要的三个如下

对于事物的异常处理,要实现回滚操作。

对于未知状态处理,需要实现幂等与重试,当然实现分布式事物还有很多别的方面,这里省略。

HBASE的Procedure就是依据以上背景实现。

Procedure代表上述的流程部分,多个流程的划分为如果要执行下一个流程,那么需要将这两个流程之间的状态存储下来,也是幂等执行的最小单位。
最主要的三个方法为

Procedure之间是有派生关系的,即一个Procedure会派生出一个子Procedure,父Procedure和子Procedure共同组成一个事物,最顶层的流程为Root Procedure

对于资源的锁定:

执行Procedure的线程池。

保存事物的执行过程,用来在事物出错的时候,依次回滚事务,是一个栈结构。

用来在执行Procedure前存储Procedure的信息,用以在程序死亡重启时恢复执行事物。

用于组织执行Procedure的优先级

对Procedure的执行线程逻辑实现

关于hbase详细架构图和Hbase扩容原理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
本文编辑:admin

更多文章:


中国vodafonewifi粗暴app(手机的网络本来是中国电信的,开了飞行模式关了,网络变成了VODAFONE, VODAFO)

中国vodafonewifi粗暴app(手机的网络本来是中国电信的,开了飞行模式关了,网络变成了VODAFONE, VODAFO)

各位老铁们,大家好,今天由我来为大家分享中国vodafonewifi粗暴app,以及手机的网络本来是中国电信的,开了飞行模式关了,网络变成了VODAFONE, VODAFO的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏

java语言的特点包括哪些(Java语言主要特点有哪些)

java语言的特点包括哪些(Java语言主要特点有哪些)

大家好,今天小编来为大家解答以下的问题,关于java语言的特点包括哪些,Java语言主要特点有哪些这个很多人还不知道,现在让我们一起来看看吧!

王者荣耀每个赛季登录界面图片(王者荣耀登录界面背景怎么改)

王者荣耀每个赛季登录界面图片(王者荣耀登录界面背景怎么改)

其实王者荣耀每个赛季登录界面图片的问题并不复杂,但是又很多的朋友都不太了解王者荣耀登录界面背景怎么改,因此呢,今天小编就来为大家分享王者荣耀每个赛季登录界面图片的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

xml文件在哪(catiav5的xml文件安装在哪里)

xml文件在哪(catiav5的xml文件安装在哪里)

各位老铁们,大家好,今天由我来为大家分享xml文件在哪,以及catiav5的xml文件安装在哪里的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

结构体内又一个struct(C#中使用结构体,在结构体的定义中又包含另一个结构体的数组,该怎么定义)

结构体内又一个struct(C#中使用结构体,在结构体的定义中又包含另一个结构体的数组,该怎么定义)

其实结构体内又一个struct的问题并不复杂,但是又很多的朋友都不太了解C#中使用结构体,在结构体的定义中又包含另一个结构体的数组,该怎么定义,因此呢,今天小编就来为大家分享结构体内又一个struct的一些知识,希望可以帮助到大家,下面我们

js select 选中值(用js获取select的多个选项值)

js select 选中值(用js获取select的多个选项值)

各位老铁们好,相信很多人对js select 选中值都不是特别的了解,因此呢,今天就来为大家分享下关于js select 选中值以及用js获取select的多个选项值的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

shell  1(shell中1 2表示什么意思)

shell 1(shell中1 2表示什么意思)

本篇文章给大家谈谈shell 1,以及shell中1 2表示什么意思对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

mysql安装后是什么图标(mysql安装好了找不到启动图标)

mysql安装后是什么图标(mysql安装好了找不到启动图标)

本篇文章给大家谈谈mysql安装后是什么图标,以及mysql安装好了找不到启动图标对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

linux端口开放(如何查看linux中iptables开放的端口号)

linux端口开放(如何查看linux中iptables开放的端口号)

大家好,今天小编来为大家解答以下的问题,关于linux端口开放,如何查看linux中iptables开放的端口号这个很多人还不知道,现在让我们一起来看看吧!

java环境查看(怎么查看java的环境)

java环境查看(怎么查看java的环境)

“java环境查看”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看java环境查看(怎么查看java的环境)!

最近更新

热门文章

口语100下载(口语100电脑版怎样下载)
2025-06-27 09:00:02 浏览:10
标签列表