zoukankan      html  css  js  c++  java
  • HBase单个RegionServer的region数目上限

    前言

              RegionServer维护Master分配给它的region,处理对这些regionIO请求,负责切分在运行过程中变得过大的region, 由于集群性能( 分配的内存和磁盘是有限的 )有限的,那么HBase单个RegionServer的region数目肯定是有上限的。

    Region数目上限

         RegionServerregion数目取决于memstore的内存使用,每个region拥有一组memstorememstore的数量有hstore决定,hstore的数据由创建表时的指定的列族个数决定,所以 每个regionmemstore的个数 表的列族的个数 ),可以通过配置来修改memstore占用内存的大小,一般设置在  128 M – 256M之间。

         RegionServer 分配一定比例的内存给它下面的所有memstore( 该比例大小 可通过hbase.regionserver.global.memstore.upperLimit 进行修改 ), 如果内存溢出(使用了太多的memstore),它可能会导致严重的后果,如服务器反应迟钝 或compact风暴。比较好的计算每RS(假设一个表)region的数量的公式为:

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

     例如: 如果 一个RegionServer配置的内存是16g,使用默认配置( hbase默认regionserver分给memstore的比例是0.4 , 默认的menstore的占用128M内存 ), 一个CF,那么这个regionServer下的region的个数大约为  16384 * 0.4 / 128*1 = 51个,实际测试大于这个数 一两倍 也没太大的问题。 一个HBase表包含一至多个region,那么表的数目上限也是可以估算出来的。

    Region大小上限

       对于生产场景中大表,最大的region大小主要是受compactions 的限制,大量大HFilecompact会降低群集性能。目前,该建议的最大region大小为10-20GB,而5-10GB是最优

  • 相关阅读:
    bzoj4476: [Jsoi2015]送礼物
    牛客练习赛42 E.热爆了
    bzoj3561: DZY Loves Math VI
    bzoj3560: DZY Loves Math V
    bzoj3512: DZY Loves Math IV
    bzoj3481: DZY Loves Math III
    使用WebUploader本地生成缩略图
    centos 7 安装JDK1.8
    APK反编译
    centos 7 配置pytorch运行环境
  • 原文地址:https://www.cnblogs.com/jechedo/p/5145582.html
Copyright © 2011-2022 走看看