HBase單個RegionServer的region數目上限,hbaseregionserver

來源:互聯網
上載者:User

HBase單個RegionServer的region數目上限,hbaseregionserver
前言

          RegionServer維護Master分配給它的region,處理對這些region的IO請求,負責切分在運行過程中變得過大的region, 由於叢集效能( 分配的記憶體和磁碟是有限的 )有限的,那麼HBase單個RegionServer的region數目肯定是有上限的。

Region數目上限

     RegionServer的region數目取決於memstore的記憶體使用量,每個region擁有一組memstore(memstore的數量有hstore決定,hstore的資料由建立表時的指定的列族個數決定,所以 每個region的memstore的個數 = 表的列族的個數 ),可以通過配置來修改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 的限制,大量大HFile的compact會降低群集效能。目前,該建議的最大region大小為10-20GB,而5-10GB是最優

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.