Region 拆分机制

48 篇文章 4 订阅
订阅专栏

        Region中存储的是大量的rowkey数据,当Region中的数据条数过多的时候,直接影响查询效率,当Region过大的时候,HBase会拆分Region , 这也是Hbase的一个优点。

1、拆分策略 

HBase的Region Split策略一共有以下几种:

1.1、ConstantSizeRegionSplitPolicy

0.94版本前默认切分策略

    当region大小大于某个阈值(hbase.hregion.max.filesize=10G)之后就会触发切分,一个region等分为2个region。

    但是在生产线上这种切分策略却有相当大的弊端:切分策略对于大表和小表没有明显的区分。阈值(hbase.hregion.max.filesize)设置较大对大表比较友好,但是小表就有可能不会触发分裂,极端情况下可能就1个,这对业务来说并不是什么好事。如果设置较小则对小表友好,但一个大表就会在整个集群产生大量的region,这对于集群的管理、资源使用、failover来说都不是一件好事。

1.2、IncreasingToUpperBoundRegionSplitPolicy

0.94版本~2.0版本默认切分策略

    切分策略稍微有点复杂,总体看和ConstantSizeRegionSplitPolicy思路相同,一个region大小大于设置阈值就会触发切分。但是这个阈值并不像ConstantSizeRegionSplitPolicy是一个固定的值,而是会在一定条件下不断调整,调整规则和region所属表在当前regionserver上的region个数有关系。

region split的计算公式是:
regioncount^3 * 128M * 2,当region达到该size的时候进行split
例如:
第一次split:1^3 * 256 = 256MB
第二次split:2^3 * 256 = 2048MB
第三次split:3^3 * 256 = 6912MB
第四次split:4^3 * 256 = 16384MB > 10GB,因此取较小的值10GB
后面每次split的size都是10GB了

1.3、SteppingSplitPolicy

2.0版本默认切分策略

    这种切分策略的切分阈值又发生了变化,相比 IncreasingToUpperBoundRegionSplitPolicy 简单了一些,依然和待分裂region所属表在当前regionserver上的region个数有关系,如果region个数等于1,切分阈值为flush size * 2,否则为MaxRegionFileSize。这种切分策略对于大集群中的大表、小表会比 IncreasingToUpperBoundRegionSplitPolicy 更加友好,小表不会再产生大量的小region,而是适可而止。

1.4、KeyPrefixRegionSplitPolicy

    根据rowKey的前缀对数据进行分组,这里是指定rowKey的前多少位作为前缀,比如rowKey都是16位的,指定前5位是前缀,那么前5位相同的rowKey在进行region split的时候会分到相同的region中。

1.5、DelimitedKeyPrefixRegionSplitPolicy

    保证相同前缀的数据在同一个region中,例如rowKey的格式为:userid_eventtype_eventid,指定的delimiter为 _ ,则split的的时候会确保userid相同的数据在同一个region中。

1.6、DisabledRegionSplitPolicy

不启用自动拆分, 需要指定手动拆分

2、RegionSplitPolicy的应用

Region拆分策略可以全局统一配置,也可以为单独的表指定拆分策略。

2.1、通过hbase-site.xml全局统一配置(对hbase所有表生效)

<property>
    <name>hbase.regionserver.region.split.policy</name>
    <value>org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy</value>
</property>   

2.2、通过Java API为单独的表指定Region拆分策略

HTableDescriptor tableDesc = new HTableDescriptor("test1");
tableDesc.setValue(HTableDescriptor.SPLIT_POLICY,IncreasingToUpperBoundRegionSplitPolicy.class.getName());
tableDesc.addFamily(new HColumnDescriptor(Bytes.toBytes("cf1")));
admin.createTable(tableDesc);

2.3、通过HBase Shell为单个表指定Region拆分策略

hbase> create 'test2', {METADATA => {'SPLIT_POLICY' => 'org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy'}},{NAME => 'cf1'}
Region拆分与合并
qq_38497133的博客
07-23 2541
文章目录一、拆分与合并的目的拆分合并二、Region拆分1.自动拆分2.手动拆分(1).Linux命令行创建(2).在HBase命令行里创建(3).指定拆分文件(4).强制拆分三、Region合并1.Minor Compaction2.Major Compaction3.三种触发合并检查的情况4.合并操作 一、拆分与合并的目的 拆分 当一个Region大到一定程度,或导致读取效率太低,所以会进行分裂 HBase可以通过Region Split达到负载均衡 Region拆分分为自动拆分与手动拆分 合并
hbase 查询固定条数_Hbaseregion合并与拆分
weixin_42407741的博客
12-01 398
1、region 拆分机制 region中存储的是大量的rowkey数据 ,当region中的数据条数过多的时候,直接影响查询效率.当region过大的时候.hbase拆分region , 这也是Hbase的一个优点 . HBaseregion split策略一共有以下几种: 1、ConstantSizeRegionSplitPolicy 0.94版本前默认切分策略 当region大小大于某个...
region拆分策略
oracle8090的博客
09-08 744
Region 概念 Region是表获取和分布的基本元素,由每个列族的一个Store组成。对象层级图如下: Table       (HBase table)     Region       (Regions for the table)          Store          (Store per ColumnFamily for each Region for the table
HBase--Region拆分策略
JinVijay的博客
02-09 1324
Region为什么要拆分?随着数据的增加,一个Region管理的数据条数越来越多,出现传统SQL数据库的单节点并发问题,将region拆分,将region移动均衡到其他的节点! 1.默认的拆分策略(大小) 当region的大小达到一定大小的时候会被拆分 IncreasingToUpperBoundRegionSplitPolicy split策略实现类 <property> <name>hbase.regionserver.region.split.policy&lt
region拆分
JAVA_LuZiMaKei的博客
10-20 201
1.按大小拆分 2.按前缀拆分 3.按分隔符拆分 4.预分region 5.手动拆分
Hbaseregion合并与拆分
01-07
1、region 拆分机制 region中存储的是大量的rowkey数据 ,当region中的数据条数过多的时候,直接影响查询效率.当region过大的时候.hbase拆分region , 这也是Hbase的一个优点 . HBaseregion split策略一共有以下几...
HBase 管理(Region自动拆分,预拆分,强制拆分Region合并,HFile的合并)(四)
May_J_Oldhu的博客
01-07 2521
HBase 管理一.HBase管理1.Region管理1.1Region的自动拆分(1)ConstantSizeRegionSplitPolicy(2)IncreasingToUpperBoundRegionSplitPolicy(0.94 版本后默认)(3)KeyPrefixRegionSplitPolicy(4)DelimitedKeyPrefixRegionSplitPolicy(5)BusyRegionSplitPolicy(6)DisabledRegionSplitPolicy1.2Region
2021SC@SDUSC HBase(六)项目代码分析——Region机制(三)之Region定位
weixin_45865669的博客
10-31 2129
目录一、初步认识region定位Meta表Region定位Region定位总结 一、初步认识region定位 在 HBase 中,表的所有行都是按照 RowKey 的字典序排列的,表在行的方向上分割为多个分区(Region),如下图所示。 每张表一开始只有一个 Region,但是随着数据的插入,HBase 会根据一定的规则将表进行水平拆分,形成两个 Region。当表中的行越来越多时,就会产生越来越多的 Region,而这些 Region 无法存储到一台机器上时,则可将其分布存储到多台机器上。 Meta表
HBase的架构、数据存储结构和进阶原理(读写流程、Flush、StoreFile合并、预分区、Region拆分与合并)详解
weixin_43230682的博客
07-22 2338
目录 一、HBase架构 1、Client 2、Zookeeper 3、HMaster(类似NameNode) 4、HregionServer(类似DataNode) 5、HDFS 6、HRegion 7、Store 8、HFile 9、MemStore 10、WAL(Write-Ahead logs) 11、HBase Meta表 二、HBase数据结构 1、RowKey(行键) 2、Column Family(列族) 3、Cell(单元) 4、TimeStamp(时间戳
labview ROI拆分
最新发布
02-19
ROI(Region of Interest)在图像处理领域中通常指的是感兴趣区域,它可以是图像中的特定部分,用户可能会对这一区域进行特殊的分析或操作。ROI拆分在LabVIEW中的应用主要涉及到图像分析、机器视觉以及信号处理等...
HBase原理 – 解析Region切分的所有细节
程序之道的博客
01-04 313
Region自动切分HBase能够拥有良好扩张性的最重要因素之一,也必然是所有分布式系统追求无限扩展性的一副良药。HBase系统中Region自动切分是如何实现的?这里面涉及很多知识点,比如Region切分的触发条件是什么?Region切分切分点在哪里?如何切分才能最大的保证Region的可用性?如何做好切分过程中的异常处理?切分过程中要不要将数据移动?等等,这篇文章将会对这些细节进行基本的说...
Region拆分与合并
qq_38304320的博客
11-07 1561
我们都知道,Hbaseregion是表的一部分,当表比较大的时候,如果还是一个Region的话,会怎样呢?当我们读取数据的时候是不是效率比较低呢?因此,我们必须对Region进行合理拆分,这也是优化性能的一部分吧。 Region拆分分为两种自动拆分和手动拆分 1.自动拆分 1.1.ConstantSizeRegionSplitPolicy 顾名思义,不变大小region拆分策略,就是按照...
hbase5:region拆分详解
刚哥的大数据之路
08-18 781
针对region拆分: 1.某个region拆分 2.自动的拆分,随着数据的越来越多,单节点regionserver管理的数据很多,增加查询热点的概率 默认的拆分策略(大小) 计算公式为: Min{ 1^32128M 256M (当刚开始创建比较小只有一个region的时候256m就可以) 2^32128M 2G(当有两个region的时候) 3^32128M 6.75G(当有3个region的时候) 10G 10G } 3.预分region,建表的时候制定切分点 按照默认大小拆分
hbase region拆分的三种方式
bigdata_player
04-15 5060
我们都知道,region在数据量大到一定程度的时候,会进行拆分(最开始由一个变成二个),而拆分的方式有三种,包括预拆分、自动拆分、手动强制拆分。下面就来介绍介绍拆分的方式。 预拆分拆分(pre-splitting)就是在建表的时候就定义好了拆分点的 算法,所以叫预拆分。 预拆分部分的作用能减少rowkey热点,另外一部分能减轻region切分时...
HBase的java代码开发(表中查询数据)
最慢的步伐不是跬步,而是徘徊;最快的脚步不是冲刺,而是坚持
12-17 7348
第一步:创建maven工程,导入jar包 <repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...
Hbase之查看RowKey所在Region
南风知我意
08-23 980
Hbase之查看RowKey所在Region
Apache HBase region拆分
数据源的港湾
06-26 2916
本篇文章主要分享Apache HBase如何通过regions实现负载均衡以及如何管理region拆分HBase以表的形式存储多行数据。表被划分为”regions“。Regions分布在集群的不同节点上,通过RegionServer进程被客户端调用。一个region由一组连接的Key组成,从一个start key开始,以end key结尾。Region之间不会overlap,这意味着一个固定的ro
HBase Region的路由、分配与拆分
Mac Track
03-05 6742
打算从下面三个部分仔细了解一下HBase Region的三种操作:Region的路由问题:比如当你要读一个key/value的时候,你要确定它存储在哪台Region Server上面,这就涉及到region的路由问题,有一篇文章“HBase中的Client如何路由到正确的RegionServer”已经非常详细的介绍了这部门内容,这里面就不多说了,有兴趣进入链接仔细阅读以下。表中最主要的Family:info,info里面包含三个Column:regioninfo, server, serverstartco
region分裂策略
mllhxn的专栏
10-10 2034
0.94版本之前 分裂的策略采用ConstantSizeRegionSplitPolicy的,在这个情况下只要将配置文件中的hbase.hregion.max.filesize设置为一个超大值则可以将自动分裂关闭。 0.94版本之后 默认策略是IncreasingToUpperBoundRegionSplitPolicy,这个策略是当在一个RS中同一个表的region数量小于9时,如果storef
HBase体系解析:HLog与数据恢复机制
它会分析遗留的 HLog 文件,将其拆分成与相应的 Region 相关联的部分,并将这些文件移动到对应 Region 的目录下。接着,HMaster 会将失效的 Region 分配给可用的 RegionServer。新接收 Region 的 HRegionServer 在...
写文章

热门文章

  • Maven仓库介绍 31111
  • 前后端的身份认证 19417
  • Linux命令之ifconfig命令 19133
  • EL表达式 16731
  • Mybatis 之 二级缓存 15802

分类专栏

  • JavaScript 49篇
  • HTML 12篇
  • JQuery 11篇
  • node 18篇
  • Java 30篇
  • 软件工具 6篇
  • Vue 19篇
  • Linux 54篇
  • SpringMVC 18篇
  • 消息队列 39篇
  • spring 27篇
  • Mybatis 23篇
  • Web服务器 23篇
  • 分布式相关 11篇
  • Redis 29篇
  • Hadoop生态圈技术 48篇
  • zookeeper 14篇
  • SpringBoot 16篇
  • 大数据 28篇
  • NoSQL 16篇
  • Seata 4篇
  • MySQL 30篇
  • SpringCloud 41篇
  • MybatisPlus 13篇
  • Eureka 6篇
  • dubbo 8篇
  • RPC框架知识 22篇
  • 日志框架 8篇
  • web知识 22篇
  • 项目微服务 17篇
  • SpringSecurity 11篇
  • ThymeLeaf 5篇
  • SpringDataJPA 2篇
  • Groovy 7篇
  • 面试知识清单 37篇
  • 数据结构 3篇
  • ElasticSearch 9篇
  • Docker 7篇
  • Maven 9篇
  • Bug合集 2篇
  • JDBC 8篇

最新评论

  • CSS预处理器、移动端适配

    刘修宇_: 依托答辩

  • Impala 安装

    丿小旋风: 您安装成功了吗?

  • EL表达式

    baiwei0703: “张三” + “昌平” 怀疑是黑马的人~表情包

  • 数据库之快照读与当前读

    小小盆友X: 使用start transaction with consistent snapshot,事务当即就会启动,并建立快照

  • 分布式一致性协议 之 Paxos协议

    bLanK灬殇: 请问图中的V是什么

最新文章

  • CSS预处理器、移动端适配
  • HTML零散知识
  • Flex布局
2023年58篇
2022年591篇
2021年90篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠然予夏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家深圳大型主题商场美陈聊城玻璃钢雕塑联系方式陆川玻璃钢泡沫雕塑厂家成都雕塑玻璃钢雕塑制作上海玻璃钢青蛙雕塑大象玻璃钢雕塑哪家专业北京玻璃钢雕塑销售厂家玻璃钢天猫雕塑工厂玻璃钢卡通人物雕塑厂家找哪家价格低的玻璃钢雕塑托马斯小火车玻璃钢雕塑铜陵美陈商场山东季节性商场美陈订购石家庄工业玻璃钢雕塑生产基地淮北玻璃钢卡通雕塑公司郑州玻璃钢浮雕抽象景观雕塑厂确山玻璃钢雕塑价格高架桥玻璃钢花盆哪里有卖的室外玻璃钢雕塑使用寿命玻璃钢雕塑安装过程茂名玻璃钢人物雕塑厂家现货湖南玻璃钢牛雕塑玻璃钢雕塑用什么材料景观玻璃钢雕塑供应厂家黄南商场美陈深圳泰佳玻璃钢大猫雕塑仙林商场入口美陈晋城铸铜玻璃钢人物雕塑顺义区商场美陈创意成都玻璃钢广场雕塑价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化