hbase-region个数

简介: hbase-region数量单个regionserver配置region个数的两种方案:根据官方推荐配置(硬盘容量);根据内存配置一:官方推荐配置(硬盘容量):官方文档给出的推荐:regionserver上的region个数范围在20~200;每个region的大小在10G~30G之间,比较符合实际。

hbase-region数量

单个regionserver配置region个数的两种方案:
根据官方推荐配置(硬盘容量);根据内存配置

一:官方推荐配置(硬盘容量):

官方文档给出的推荐:
regionserver上的region个数范围在20~200;每个region的大小在10G~30G之间,比较符合实际。
配置:
regionSize的大小配置:hbase.hregion.max.filesize
单台regionserver上的数据量=hbase.hregion.max.filesize*region个数*3

如果一台RegionServer存储12T数据,那按照单Region为10G计算,就会分裂出400个Region,很显然不合理。此时就需要调整参数hbase.hregion.max.filesize,将此值适度调大,调整为20G或者30G。而实际上当下单台物理机所能配置的硬盘越来越大,比如36T已经很普遍,如果想把所有容量都用来存储数据,依然假设一台RegionServer上分布100个Region,那么每个Region的 大小将会达到可怕的120G,一旦执行Compaction将会是一个灾难。
然而随着硬件成本的不断下降,单台RegionServer可以轻松配置40T+的硬盘容量,如果按照上述说法,越来越多的硬盘其实只是’镜中月,水中花’。社区也意识到了这样的问题,在当前Region的概念下提出了Sub-Region的概念,可以简单理解为将当前的Region切分为很多逻辑上小的Sub-Region。Region还是以前的Region,只是所有之前以Region为单位进行的Compaction将会以更小的Sub-Region粒度执行。这样,单Region就可以配置的很大,比如50G、100G,此时单台RegionServer上也就可以存储更多的数据

二:根据内存配置(hbase.regionserver.global.memstore.upperLimit)

hregionserver1对应n个region
单个region对应N个memstore及n个store
单个store对应N个storeFile(Hfile)及1个列簇
那么计算region个数:((RS memory) * (total memstore fraction)) / ((memstore size)*(# column families))
实际测试大于这个计算结果的一两倍也可以。

以上为参考性结果。

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
3天前
|
分布式数据库 Hbase
HBase的数据删除是如何进行的?
HBase的数据删除是如何进行的?
125 0
|
分布式数据库 Hbase Java
hbase region split源码分析
hbase region split : split执行调用流程: 1.HbaseAdmin发起split:### 2.RSRpcServices实现类执行split(Implements the regionserver RPC services.)### 3.CompactSplitThread类与SplitRequest类用来执行region切割:### 4.splitRequest执行doSplitting操作### 4.1初始化两个子region### 4.2执行切割#### 4.2.1:(创建子region。
1762 0
|
分布式数据库 Hbase Java
|
存储 Shell 分布式数据库
|
分布式数据库 Hbase 负载均衡
HBase Region合并分析
1.概述 HBase中表的基本单位是Region,日常在调用HBase API操作一个表时,交互的数据也会以Region的形式进行呈现。一个表可以有若干个Region,今天笔者就来和大家分享一下Region合并的一些问题和解决方法。
3030 0
|
分布式数据库 Hbase 缓存
Hadoop-No.9之表和Region
影响性能与数据分布的一个因素是HBase中表的数量以及每个表的Region的数量.如果分配的不合理,集群一个节点活多个节点的负载会出现显著的不均衡. 其中比较注意的几点: - 每个节点包含一个Region服务器 - 每个Region服务器包含多个Region - 任何时...
1001 0