`

hbase split part:regions split policy

 
阅读更多

part I:split policy

  if u have used some index tools like lucene,there are some factors to control how many docs to merge some segs to a large one,and whether to freeze  some large enough seg files to a fix size ...yes ,thess cases are all similar to hbase's merge regions capacities(called online merge?) like below described.

  in opposite,hbase's has a 'region split policy' but lucene.that is if some regions are too large so decrease perf ,or some other cases like remerging a big region consume a lot time.so it is sensible!

 

  in 0.94.2,there are two policies for split,as desciribed below:

policy trigger split point feature/use case

ConstantSizeRegionSplitPolicy

-all stores belong this region are splittable;

-one of the store file size is bigger than max.hstorefile.size

use the largetst store's split point

 -a constant size to check threshold

-suitable for predictable data increasement with pre-split

IncreasingToUpperBoundRegionSplitPolicy

(default)

-all stores belong this region are splittable(there is a bug in this verion,[1])

-one store file size is bigger than A,

A=min(max.stofile.size,C^2 * flush.size),

C=number of regions with same table on this rs .so on this rs,all the regions share the same value A when computing split-size-to-check

 same as above

-class inherit above policy,but use silent plicy

-a dynamic handle case,fit for unpreditable data size at first period.

but from the trigger on left side,we know that if regions count grow to 9 then this policy will BACK to the above policy!

 

 

  split point comutation

-exclude the meta table(i have blogged in previous topics)

-retrive the largest store file

-get the middle block of the file

-create a 'rowkey'' with the middle key (this is the target ) TODO

 

part II:split principle

 see [2] or look into HBaseAdmin#split(),below is a bird view:




 

 

part III: merge regions

 as of this version,there is only a offline merge capacity,that is,util.Merge.if u want to use online merge,see 'online merge' which will be fixed in 0.95 or 0.98.

 

part IV:conclusions

 in general,i prefer to use constant-size policy,a simple,controllable solution ,if u preslit the table while creating.

but u must specify the property with value 'ConstantSizeRegionSplitPolicy'  :

hbase.regionserver.region.split.policy

 

ref:

[1] IncreasingToUpperBoundRegionSplitPolicy.shouldSplit() should check all the stores before returning.

hbase -how many regions are fit for a table when prespiting or keeping running 

[2] Apache HBase Region Splitting and Merging (detailed split principle) 

 

 
 
 
 
 
 
 
  • 大小: 109.5 KB
0
0
分享到:
评论

相关推荐

    HBase学习利器:HBase实战

    ### HBase学习利器:HBase实战 #### 一、HBase简介与背景 HBase是Apache Hadoop生态系统中的一个分布式、可扩展的列族数据库,它提供了类似Bigtable的能力,能够在大规模数据集上进行随机读写操作。HBase是基于...

    HBase 数据集:ORDER_INFO

    HBase 数据集:ORDER_INFO

    hbase-common-1.4.3-API文档-中文版.zip

    Maven坐标:org.apache.hbase:hbase-common:1.4.3; 标签:apache、common、hbase、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化...

    hbase的shell操作

    根据提供的文件信息,本文将详细介绍HBase的Shell操作及其应用场景,包括如何创建表、插入数据、查询数据等关键操作。 ### HBase Shell简介 HBase Shell是HBase提供的一种交互式命令行工具,用于执行HBase操作。它...

    hbase-annotations-1.1.2-API文档-中文版.zip

    Maven坐标:org.apache.hbase:hbase-annotations:1.1.2; 标签:apache、annotations、hbase、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。...

    HBase全攻略:从安装配置到实战操作详解

    内容概要:本文档是一份详尽的HBase学习教程,涵盖从安装配置、基础操作到实战项目的全方位内容。首先介绍了HBase的基本概念和特点,接着详细讲解了HBase的安装与配置步骤,包括环境准备、下载与解压、配置文件修改...

    HBase in Practise: 性能、监控和问题排查

    HBase在不同版本(1.x, 2.x, 3.0)中针对不同类型的硬件(以IO为例,HDD/SATA-SSD/PCIe-SSD/Cloud)和场景(single/batch, get/scan)做了(即将做)各种不同的优化,这些优化都有哪些?如何针对自己的生产业务和...

    Apache HBase Primer

    Part V: Apache HBase Java API Chapter 16: The HBaseAdmin Class Chapter 17: Using the Get Class Chapter 18: Using the HTable Class Part VI: Administration Chapter 19: Using the HBase Shell ...

    hbase-2.4.16-bin.tar.gz

    hbase官网下载地址(官网下载太慢): https://downloads.apache.org/hbase/ 国内镜像hbase-2.4.16: https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.4.16/hbase-2.4.16-bin.tar.gz

    hbase-exporter:HBase Prometheus导出器

    hbase-exporterHBase Prometheus导出器收集指标并中继JMX指标以供Prometheus使用由于JMX中一些重要的指标缺失或为空,因此我们另外分析了HBase主界面,例如“过渡中的过时区域” 解析“ hbase hbck”命令的输出以...

    HBase基本操作 Java代码

    HBase基本操作 增删改查 java代码 要使用须导入对应的jar包

    基于HBase的HydraQL:简化HBase查询操作的Java设计源码

    该项目是采用Java编写的HydraQL源码,一款旨在简化HBase操作体验的SQL查询器。项目包含1408个文件,涵盖804个Ruby脚本、530个Java源文件、30个XML配置文件、6个Shell脚本、6个属性文件以及少量其他类型文件。HydraQL...

    HBase的使用:包括HBase的解压、配置文件、服务的启动、查看HBabe页面、HBabe Shell操作等等

    在`hbase-site.xml`中,需要配置HBase的根目录(`hbase.rootdir`),分布模式(`hbase.cluster.distributed`),Master服务器的端口(`hbase.master.port`),ZooKeeper的群集地址(`hbase.zookeeper.quorum`)以及...

    hbase-page:hbase 分页

    在HBase这个分布式列式数据库中,分页查询是一个重要的功能,尤其对于处理大量数据时,它能够有效地提高性能并优化用户体验。HBase本身并不直接支持像SQL那样的传统分页,但通过一些策略和工具,我们可以实现类似的...

    Hbase SYSTEM.STATS磁盘爆满 处理方法.docx

    在IT行业中,尤其是在大数据存储和处理领域,HBase和Phoenix是非常重要的组件。HBase是一个分布式的、面向列的NoSQL数据库,它构建于Hadoop之上,适用于大规模数据存储。而Phoenix是一个高性能的关系型SQL层,它允许...

    pinpoint的hbase初始化脚本hbase-create.hbase

    搭建pinpoint需要的hbase初始化脚本hbase-create.hbase

    HBase Data Browser:HBase数据库的简单GUI界面-开源

    HBase Manager提供了一个简单的GU界面来与HBase数据库进行交互。 使用HBM,我们可以执行所有基本操作,例如表创建/更改/删除/截断和数据修改,例如插入/删除/更新。 可以使用过滤器和自定义扫描范围完全自定义扫描...

    clojure-hbase-schemas:基于架构的HBase交互

    Clojure-Hbase-Schemas Clojure-HBase-Schemas是一个用于从Clojure访问HBase的简单库。 该库的灵感来自David Santiago的并直接从他的库中取消了对HTable管理功能的支持。 发行版保留在clojars中。 最新版本是: ...

    Hbase权威指南(HBase: The Definitive Guide)

    ### HBase权威指南知识点概述 #### 一、引言与背景 - **大数据时代的来临**:随着互联网技术的发展,人类社会产生了前所未为的数据量。这些数据不仅数量巨大,而且种类繁多,传统的数据库系统难以应对这样的挑战。 ...

Global site tag (gtag.js) - Google Analytics