如何计算单个region server能支持的最大region数

       虽理论上说单个region server能支持最多1000个region,但实际上是不太可能的。RegionServer维护Master分配给它的region,处理对这些region的IO请求,负责切分在运行过程中变得过大的region。region server上的region数通常取决于mestore的内存大小。正常一个region存在多个列簇,每个列簇对应一个memstore。 由于集群性能( 分配的内存和磁盘)是有限的,所以HBase单个RegionServer的region数目肯定是有上限的。

 

region数量的公式如下:

((RS memory) * (total memstore fraction)) / ((memstore size)*(# column families))

 

举例:

对于68个节点的hbase集群,每个节点的内存大小为157G:

cm中对hbase的配置,分配给每个region server的内存大小为64G:

如何计算单个region server能支持的最大region数_第1张图片

那么,根据公式,当集群分配给regionserver的内存是64G=65536m,使用默认的参数时,total memstor fraction是0.4,memstore size是128M,column families是1,那么,单个region server上支持的region数目为:

(65536*0.4)/(128*1)==204.8,约等于200个

即单个region server支持的最大region数目为200个。

 

参考网址:

https://www.cnblogs.com/jechedo/p/5145582.html

你可能感兴趣的:(HBase)