新生成hbase的一个表的时候,整个集群中就只有一个新表的region分区,随着存储的数据增多,一个region就会水平分割为大小相等的2个region,这一过程是由HRegion Server自动处理的,期间不需要HMaster Server的参与。
具体分割过程是这样的:
当memstore中的数据大于一定阀值后会被刷新到磁盘上,生成一个storefile文件,刷新操作完成后,触发一个minor compaction合并压缩操作,将属于该region的一些最早生成的storefile文件重写到一个大的storefile,然后删除被合并的文件。
当合并后的storefile文件的size大于配置的
hbase.hregion.max.filesize的值(该值也可以在定义表结构时设置大小,该值就是分割region分区的阀值)时,这个storefile所属的region分区就会自动被水平分割成对等的2个分区;这个split操作会很快被服务器完成:因为分区的时候系统只是简单地为新的分区创建了2个对父region的引用,每个引用只引用原region的一半数据。
HRegion server会在父分区创建2个split目录——每个新分区一个目录,然后原region会下线,也不会响应任何客户端的请求,这些请求路由到对应的新生成region分区并有新region响应。
接着HRegion Server会推过后台的多线程程序在split目录内为新分区创建一写必须的文件结构,包括为新region创建分区目录和对父region的引用文件。这些预备文件结构成功完成后,服务器会将这两个新的region目录移到table目录,同时修改.META.表的表信息,即原region被分割成了2个新的新的子region。从下图所示可以看一下region分割时.META.表是什么样子的:
从上图中我们可以看出,原region被分成了2个新的region,在rowkey = 550的地方平分,SPLIT => true表明region处于split状态,被splitA和splitB两个region引用。
新的region对原region的引用文件中只保存很少的信息:分割region的rowkey和分区对应的结束rowkey和开始的rowkwy,即starkey和endkey。查询新region上的数据时是通过hbase的HalfFileReader类来读取原region上的数据文件,代替原分区响应客户端的请求。
新分割的子region在触发compaction操作的时候,会在后台将原region中的数据文件合重写到新的region的storefile文件中,合并重写完成会自动用新生成的storefile替换原来的引用文件。当没有对已下线的原region的引用后,原分区的相关数据会被彻底删除,最后处于对负载均衡的考虑HMaster会在合适的一个时间点将split region移动到其他HRegion Server。
- 大小: 102.2 KB
分享到:
相关推荐
通过上述内容可以看出,《HBase权威指南》全面而深入地介绍了HBase的相关知识和技术要点,无论是对于初次接触HBase的新手还是想要深入了解其内部机制的资深开发者来说,都是一本不可多得的好书。该书不仅详细解释了...
hbase权威指南中文完整版pdf 12章+6附录
2. **HBase架构**:HBase的架构由Region Server、Master Server、Zookeeper和表、Region、Row Key等组成。Region Server负责实际的数据存储和处理,Master Server负责全局的元数据管理和Region分配,Zookeeper用于...
带有详细目录的 HBase权威指南中文版.pdf
《HBase权威指南》是HBase领域的经典著作,旨在深入解析这款分布式大数据存储系统的方方面面。随书提供的源代码是理解书中理论与实践结合的关键。在本文中,我们将围绕HBase的核心概念、架构以及如何通过源代码学习...
《HBase权威指南》是一本深入探讨分布式大数据存储系统HBase的专业书籍,旨在为读者提供全面、详尽的HBase知识。这本书涵盖了从基础概念到高级应用,包括HBase的架构设计、数据模型、表设计策略、性能优化、监控与...
《HBase权威指南》是一本深入探讨Apache HBase这一分布式列式数据库的著作,源码则是作者为了辅助读者理解书中理论知识而提供的实践材料。HBase是构建在Hadoop文件系统(HDFS)之上的开源数据库,专为处理大规模数据...
5. MapReduce集成:HBase与Hadoop的MapReduce框架无缝集成,可用于批量处理和分析存储在HBase中的大数据。 6. 灵活的数据模型:HBase允许动态添加列,适应不断变化的数据需求。 7. 复制与容错:通过主备复制机制,...
2. **HBase架构**:HBase的核心架构包括Region服务器、Master节点、ZooKeeper和表与列族。Region服务器负责存储和处理数据,Master节点管理Region的分配和表的元数据,ZooKeeper提供高可用性和一致性保障,表由列族...
Hbase权威指南 随书源代码 源码包 绝对完整版 maven工程,带pom文件,可以直接作为一个完整工程导入eclipse等ide。
《HBase权威指南》是一本深入探讨分布式大数据存储系统HBase的专业书籍,其源代码的提供为读者提供了更直观的学习材料。HBase是基于Apache Hadoop的非关系型数据库(NoSQL),它在大规模数据存储方面表现卓越,尤其...
《hbase权威指南》探讨了如何通过使用与hbase高度集成的hadoop将hbase的可伸缩性变得简单;把大型数据集分布到相对廉价的商业服务器集群中;使用本地java客户端,或者通过提供了rest、avro和thrift应用编程接口的...
Hbase权威指南中文版 带目录 人民邮电出版社 Hbase权威指南中文版 带目录 人民邮电出版社
《HBase权威指南》探讨了如何通过使用与HBase高度集成的Hadoop将HBase的可伸缩性变得简单;把大型数据集分布到相对廉价的商业服务器集群中;使用本地Java客户端,或者通过提供了REST、Avro和Thrift应用编程接口的...
HBase权威指南中文版
hbase权威指南中文版hbase权威指南中文版hbase权威指南中文版 hbase权威指南中文版hbase权威指南中文版hbase权威指南中文版