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

本文探讨了HBase Region的数量配置,官方推荐配置通常基于硬盘容量,如单Region大小设置为20G或30G以避免过多的Region。随着硬件发展,单台RegionServer可能配置40T+硬盘,提出Sub-Region概念以适应更大Region并优化Compaction操作。同时,Region数量也可以根据内存配置如hbase.regionserver.global.memstore.upperLimit来调整。
最低0.47元/天 解锁文章
4643

被折叠的 条评论
为什么被折叠?



