虽理论上说单个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: