# Regions过多优化
通过OGG接入大量小表或者某些场景下,会出现HBase集群regions“过多”的情况,在某集群上有看到不到10个节点的集群,regions将近1万,其中一张不到1TB的表,有将近4000个region。
一般情况下,单个region的大小建议控制在5GB以内,可以通过参数hbase.hregion.max.filesize来设置,单个regionserver下的regions个数控制在200个以内。regions过多会导致集群不堪重负、regionserver 频繁FullGC的情况,进而影响集群的稳定性甚至上层的应用服务。
对于数据体量比较大,regions确实比较多的情况,建议对集群进行扩容;对于因使用不当导致regions“过多”的情况,建议对regions进行合并操作,具体如下:
hbase> splitormerge_switch 'MERGE',true
hbase>splitormerge_switch 'SPLIT',true
hbase> merge_region 'ENCODED_REGIONNAME', 'ENCODED_REGIONNAME'