美文网首页我爱编程
HBASE 系列 一个RegionServer的Region数量

HBASE 系列 一个RegionServer的Region数量

作者: 不务正业的coder | 来源:发表于2017-08-25 16:35 被阅读0次

    HBase 官方文档说一个RegionServer被设计跑20200个regions,数据大小约550Gb。

    但是,建议regions在100个左右。

    首先 ,理解一个概念『MSLAB』,即MemStore-Local Allocation Buffer。

    每个store都有一个memstore,为了避免在大量数据写入,堆中产生很多碎片,导致stop-the-world GC出现,设置hbase.hregion.memstore.mslab.enabled,来预防此问题。即本地MemStore允许分配的内存大小。

    当一个HRegion中的所有MemStore的大小总和超过了hbase.hregion.memstore.flush.size的大小,默认128MB。此时当前的HRegion中所有的MemStore会Flush到HDFS中。

    当全局MemStore的大小超过了hbase.regionserver.global.memstore.upperLimit的大小,默认40%的内存使用量。此时当前HRegionServer中所有HRegion中的MemStore都会Flush到HDFS中,Flush顺序是MemStore大小的倒序,直到总体的MemStore使用量低于hbase.regionserver.global.memstore.lowerLimit,默认38%的内存使用量。

    .

    相关文章

      网友评论

        本文标题:HBASE 系列 一个RegionServer的Region数量

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