所有的HBase区域自动分割的细节在这里

< > >
作者:Fan Shin

区域自动分割是HBase可以具有良好的可扩展性的最重要因素之一。它也是所有分布式系统追求无限扩展性的良药。区域HBase系统自动分割是如何实现的,它涉及到很多的知识,如触发条件的区域分割,如何保证最大的分割和区域分割区是分割点的可用性,如何做异常处理的分割过程,或分割过程中移动数据等本文将对这些细节进行基本的描述,可以让大家有一个更深入的了解区域HBase的自动分割,另一方面,如果你想实现类似的功能,也可以指HBase的方案。
>强>区域分割触发策略 > > >

有多达6分的触发策略的最新稳定版本(1.2.6)。当然,每个触发策略都有自己的应用场景,用户可以根据服务表级别选择不同的分段触发策略。常见的分割策略如下: >
< >
1、regionserver改变在过渡分地区/区域ZK节点的状态。
2,主节点通过观察节点/区域在转换中检测区域状态的变化,并修改内存中的区域状态。我们可以看到该地区执行分裂状态信息对母版页RIT模块。
> 3,拆分后的子区域信息由新的临时文件夹保存。在父存储目录下进行拆分。
4,关闭父区域:父区域关闭数据写入并触发刷新操作,写入区域的所有数据都保存到磁盘上。该客户端落在短时间内母区将抛出notservingregionexception请求。
5和核心拆分步骤:在子文件夹下创建两个子文件夹,称为子A和子B,并在文件夹中生成引用文件,分别指向父区域中的相应文件。这一步是所有步骤中最重要的部分,并且生成参考文件日志如下:
< > >
>强>区域分割事务控制 > >

区域分割是一个复杂的过程,涉及在父区域分割,文件文件区域生成,两个子系统元数据元数据变化很多步骤,要保证事务分割的全过程,分割是完全成功的,或完全切断不启动,在任何情况下都不只完成一半的削减。

为了实现交易的性质,HBase设计的状态机(见splittransaction类)在分割过程中节省每一个子步状态,这样一旦发生异常,系统可以决定是否回到如何回滚根据当前状态。不幸的是,中间状态的当前实现只存储在内存中,在regionserver细分过程中,所以一旦下降,有可能在中间状态的狭缝,这是精神状态。在这种情况下,你需要使用的工具为特定HBCK聚沉的查看和分析的解决方案。2版本后,HBase实现了一种新的分布式事务处理框架程序V2(hbase-12439),一个新的框架将使用博客来存储这单交易(DDL分裂,动了手术,手术操作等)的中间状态,可以确保即使在交易参与者已经停机,仍然可以作为一个博客事务协调员或再审立案,大大减少甚至消除该现象。这也是2中最有价值的亮点!
>强>区域分割对其他模块的影响为。通过对区域分割过程的理解,我们知道整个区域的分割过程不涉及数据的移动,所以分割成本本身不是很高,而且可以很快完成。分割区域后的文件实际上没有任何用户数据。只有一些元数据信息存储在文件--割点rowkey等等。我们如何使用引用文件查找数据?次区域的数据何时真正完成真正的迁移?当数据迁移完成时,父区域何时被删除?
强> 1。通过引用文件来查找数据? >
这里将看到引用文件名和文件内容的实际含义。整个过程如下图所示:

<img class=“内容中间对齐尺寸全wp-image-104851”src=“http://500dsj.qqwho.cc/image/2017/12/18/35.jpg”

资料全部来自网络,如果有问题可以发邮件到站长邮箱