hbase-region个数

作者: sunTengSt | 来源:发表于2017-12-15 14:18 被阅读51次

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-region个数

    hbase-region数量 一:官方推荐配置(硬盘容量): 如果一台RegionServer存储12T数据,那按...

  • hbase-region split剖析

    hbase region 切分是hbases水平扩展一个重要因素,将一个region切分为两个小region,...

  • 源码分析->一个应用到底有几个Context

    应用Context实例个数= Activity个数 +Service个数 + Application个数 相信很多...

  • 对象个数

    var key, counter = 0;for(key in obj) counter++;alert(coun...

  • 凑个数

    天气多变,上午小雨,下午阴天,心情也格外沉重。 想在晚上黑色的天幕下散步,乘着夜色便出了门。门外是嘈杂的车流和一些...

  • 凑个数

    【1】My life has been a trade-off. 我的人生是一场交易。 【2】If I ...

  • 充个数

    这几天忙着报告会的事情,没有认真读过书,没有认真写过东西了。摘抄个,充个数吧。 “到了这个年纪,已经不会将自...

  • 岛屿个数

    题目给定一个m行n列的二维地图,初始化每个单元都是水,操作addLand把单元格(row,col)变成陆地。岛屿定...

  • 凑个数

    最近忙得无厘头,忙得没有思维,今天的简更以摘录凑个数。有时想想这样没多大意义,但在某个角度,似乎又想做下去...

  • 桃子个数

    海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为5份,多了一个,这只猴子把多的一个扔入海中,拿走了一份...

网友评论

  • 9f5d28e73bb9:正好碰到了一个问题,想向您咨询一下,我们大概有200万个物联网设备,每隔几秒会上传相关信息。现实中近似共享单车吧。现在是要上hbase进行存储,目前上了3台机器,每台机器实际40T(4T*11),32G内存,cpu是8C16T*2。机器的配置是否合理?请问怎么划分region,每个region最大size是多少?现在的想法rowkey是手机号翻转+Timestamp,取前4位进行分ergion

本文标题:hbase-region个数

本文链接:https://www.haomeiwen.com/subject/vvqdwxtx.html