关于HBase Region的一些基本概念-阿里云开发者社区

开发者社区> _陆豪> 正文

关于HBase Region的一些基本概念

简介:
+关注继续查看

最近发现HBase官方文档里面关于region的内容写的很清晰,所以尝试把其中和region的基本概念有关的内容做了翻译和简单的补充。关于Region的split/compact等操作的相关内容网上已经很多了,所以这些方面本文不涉及,只对region的概念和状态图这两部分内容做了搬运。如果需要了解更多内容可以自行阅读原文。Region是HBase中管理数据的一个单位,日常的运维中有相当一部分和region有关,把region的一些基本概念搞清楚还是很有意义的。

Region的概念

Region是HBase中表数据分布和访问的基本单位。这句话有两层含义:
(1)从数据的逻辑概念来说,表按照rowkey范围划分为不同的region,region按照列族划分为不同的store,store中包含memstore和storefile。如下图:
Region_
(2)从数据的物理存储位置来说,region是数据分布的基本单位,表的数据会分布在多个RegionServer上面,而一个region的数据只会在一个RegionServer上面。一个RegionServer同时管理多个region。

Region状态图

在HBase2.0里面,Region的状态存储在hbase:meta表里面,hbase:meta本身的Region状态存储在zookeeper中。Region的状态图如下:
region_states
图中大部分状态应该都不需要翻译了,这里简单解释一下和merge/split有关的几个状态:
SPLITTING: 当一个region开始split时,RegionServer通知master该region处于此状态。
SPLIT: 表示这个Region已经完成了split操作。
SPLITTING_NEW: 表示这个Region是在当前正在进行中的split操作创建出的子Region。
MERGING: merge操作开始后(到结束之前),被Merge的Region处于此状态。
MERGED: 表示这个Region已经被合并了。
MERGING_NEW: 表示这个Region是当前正在进行中的merge操作创建出的。

图中状态迁移的过程描述如下:
1 master将region的状态由OFFLINE置为OPENING,并尝试将region分配到一个RegionServer上面。如果分配region的RPC请求失败(RegionServer没有收到),master会重试直到成功或超出最大重试次数。RegionServer收到分配请求后,开始打开region。

2 如果分配region的RPC请求超出最大重试次数,master会将region置为CLOSING状态并尝试关闭region。

3 RegionServer打开region后,会一直通知master直到master将region状态置为OPEN并通知RegionServer。

4如果RegionServer打开region失败,会通知master,master降region状态置为CLOSED并尝试在其他RegionServer打开region。

5 如果master在多个RegionServer上都无法打开region(hbase.assignment.maximum.attempts,默认为10),会将region的状态置为FAILED_OPEN。之后不会对这个region做任何操作。对于FAILED_OPEN的region,只能通过hbase shell人工干预或重启master才会再次打开。

6 master把region状态由OPEN置为CLOSING。master会向RegionServer发送关闭region的请求,如果RegionServer没有收到,master会重试,直到RPC成功或达到最大重试次数。

7 如果RegionServer不在线或抛出NotServingRegionException,master将region置为OFFLINE状态,并将region重新分配到其他RegionServer上面。

8 如果RegionServer在线但是master一直调用失败(超过最大重试次数),master会将region置为FAILED_CLOSE状态。之后不会对这个region做任何操作。对于FAILED_CLOSE的region,同样只能通过hbase shell人工干预或重启master才会改变其状态。

9 RegionServer收到关闭region的请求后,关闭region并通知master。master将region置为CLOSED状态并重新分配到其他RegionServer。

10 分配region前,master会先将处于CLOSED状态的region置为OFFLINE状态。

11 RegionServer在split region前通知master。master将region状态由OPEN置为SPLITTING并将两个新创建的region加入到RegionServer,这两个新的region初始状态为SPLITTING_NEW。

12 通知master后,RegionServer开始split region。split结束后,master将被切分的region状态由SPLITTING置为SPLIT,新切分出的两个region的状态由SPLITTING_NEW置为OPEN。

13 如果split失败,master将被切分的region状态由SPLITTING置为OPEN,新切分出的两个region的状态由SPLITTING_NEW置为OFFLINE。

14 RegionServer在开始合并两个region前,首先通知master,master将这两个region的状态由OPEN置为MERGING,并创建一个新的region,将其状态置为MERGING_NEW。

15 通知master后,RegionServer开始合并两个region。合并完成后,master将被合并的两个region的状态由MERGING置为MERGED,将新的region的状态由MERGING_NEW置为OPEN。

16 如果合并失败,master将被合并的两个region的状态由MERGING置为OPEN,新创建的region的状态由MERGING_NEW置为OFFLINE。

17 对处于FAILED_OPEN和FAILED_CLOSE状态的region,通过hbase shell重新分配,master会尝试再次关闭。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
6900 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
2829 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4477 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7748 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
5455 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9423 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
2135 0
+关注
18
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载