HBase3個重要機制

      網友投稿 1003 2022-05-28

      本篇博客,小菌為大家帶來的是關于HBase的3個重要機制。

      1.flush 機制

      1.(

      hbase.regionserver.global.memstore.size

      ) 默認;堆大小的40%

      regionServer的全局memstore的大小,超過該大小會觸發flush到磁盤的操作,默認是堆大小的40%,而且regionserver級別的flush會阻塞客戶端讀寫

      2.(

      hbase.hregion.memstore.flush.size

      ) 默認:128M

      單個region里memstore的緩存大小,超過那么整個HRegion就會flush。

      3.(

      hbase.regionserver.optionalcacheflushinterval

      ) 默認:1h

      內存中的文件在自動刷新之前能夠存活的最長時間

      4.

      hbase.regionserver.global.memstore.size.lower.limit

      默認:堆大小 * 0.4 * 0.95

      有時候集群的“寫負載”非常高,寫入量一直超過flush的量,這時,我們就希望memstore不要超過一定的安全設置。在這種情況下,寫操作就要被阻塞一直到memstore恢復到一個“可管理”的大小, 這個大小就是默認值是堆大小 * 0.4 * 0.95,也就是當regionserver級別的flush操作發送后,會阻塞客戶端寫,一直阻塞到整個regionserver級別的memstore的大小為 堆大小 * 0.4 *0.95為止

      5.(

      HBase的3個重要機制

      hbase.hregion.preclose.flush.size

      ) 默認為:5M

      當一個 region 中的 memstore 的大小大于這個值的時候,我們又觸發 了 close.會先運行“pre-flush”操作,清理這個需要關閉的memstore,然后 將這個 region 下線。當一個 region 下線了,我們無法再進行任何寫操作。 如果一個 memstore 很大的時候,flush 操作會消耗很多時間。“pre-flush” 操作意味著在 region 下線之前,會先把 memstore 清空。這樣在最終執行 close 操作的時候,flush 操作會很快。

      6.(

      hbase.hstore.compactionThreshold

      ) 默認:超過3個

      一個store里面允許存的hfile的個數,超過這個個數會被寫到新的一個hfile里面 也即是每個region的每個列族對應的memstore在fulsh為hfile的時候,默認情況下當超過3個hfile的時候就會 對這些文件進行合并重寫為一個新文件,設置個數越大可以減少觸發合并的時間,但是每次合并的時間就會越長。

      2、compact機制

      詳細請見《HBase官方文檔》

      主要就是當小的storeFile文件達到三個,會合并成大的Storefile文件。并且清理過期的數據,包括刪除的數據,將數據的版本號保存為3個。

      3.split機制

      當Region達到閾值,會把過大的Region一分為二。

      默認一個HFile達到10Gb的時候就會進行切分。

      總結

      Flush 機制

      hbase.regionserver.global.memstore.size: 默認;堆大小的40%

      regionServer的全局memstore的大小(多個CF的memstore-多個region),超過該大小會觸發flush到磁盤的操作,會阻塞客戶端讀寫flush將所有的memstore全部flush.hbase不建議配置過多列族:過多的列族會消耗大量的內存,同時數據在flush時消耗磁盤IO.一個regionserver續寫操作可用堆內存的80%,讀取占用40% ,寫入占用40%。這兩個參數直接影響hbase讀寫性能。

      hbase.hregion.memstore.flush.size:默認:128M(單個region里memstore的緩存大小)

      hbase.regionserver.optionalcacheflushinterval: 默認:1h

      hbase.regionserver.global.memstore.size.lower.limit: 默認:堆大小 0.95倍

      hbase.hregion.preclose.flush.size:默認為:5M 提前進行flush.(先flush一小部分,等后面數據達到閾值在flush后

      面的數據) 好處:比一次flush效率高

      什么時候觸發合并

      hbase.hstore.compactionThreshold: 默認:3個 (flush文件的數量超過3個進行合并)

      compact機制

      默認3個

      小的storeFile 文件達到3個,合并成大的storeFile文件。

      split機制

      默認一個HFile達到10Gb的時候就會進行切分

      好了本次的分享就到這里了,對大數據技術感興趣的朋友記得關注小菌喲(^U^)ノ~YO

      HBase

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:MindSpore21天實戰營(1)plus 使用MindSpore Lite實現手機端圖像檢測
      下一篇:微認證:鯤鵬軟件性能調優實踐
      相關文章
      亚洲国产综合精品中文第一区| 亚洲精品色午夜无码专区日韩| 亚洲午夜福利精品无码| 在线精品亚洲一区二区| 亚洲国产精品综合久久20| 亚洲精品无码不卡| 亚洲AV本道一区二区三区四区| 亚洲人JIZZ日本人| 红杏亚洲影院一区二区三区| 亚洲免费日韩无码系列| 久久久无码精品亚洲日韩软件 | 亚洲午夜精品第一区二区8050| 在线亚洲精品视频| 午夜亚洲国产精品福利| 亚洲成a人片在线播放| 亚洲国产综合久久天堂| 狠狠色婷婷狠狠狠亚洲综合| 国产亚洲精品久久久久秋霞 | 亚洲AV无码成人专区| 亚洲精品福利你懂| 亚洲欧美国产国产综合一区| 亚洲欧美成人综合久久久| 亚洲AV无码一区二区乱子仑| 国产亚洲精品美女久久久久久下载| 精品久久久久久亚洲中文字幕| 国产亚洲精品美女| 亚洲日韩在线第一页| 亚洲综合另类小说色区| 亚洲va无码va在线va天堂| 亚洲国产天堂在线观看| 亚洲第一精品电影网| 精品亚洲AV无码一区二区| 亚洲熟妇无码八V在线播放| 亚洲av日韩aⅴ无码色老头| 亚洲精品高清一二区久久| 亚洲人成中文字幕在线观看| 亚洲精品综合一二三区在线| 亚洲国产成人手机在线电影bd | 亚洲啪啪综合AV一区| 久久综合亚洲鲁鲁五月天| 亚洲高清中文字幕免费|