HBase筆記5(診斷)

2022-07-24 20:54:14 字數 1983 閱讀 3612

阻塞急救:

regionserver記憶體設定太小: 

解決方案: 設定region server的記憶體要在conf/hbase-env.sh中新增export hbase_regionserver_opts=" $hbase_regionserver_opts  -xms8g -xmx8g"

hfile達到允許的最大數量:

解決方案: 調大hbase.hstore.blockingstorefiles

memstore大小達到閾值:

解決方案:略微調大hbase.hregion.memstore.flush.size*hbase.hregion.memstore.block

regionserver上的memstore總大小達到閾值:

解決方案:適當調大hbase.regionserver.global.memstore.size 調小hfile.block.cache.size

memstore 和 blockcache所佔的記憶體總和《= 系統總記憶體的80%

朱麗葉暫停:

集群的region server任意乙個出現宕機

發生原因:

1)zookeeper長時間未接收到region server響應,標記該節點宕機

2)hbase 是基於jvm,大概率遇上full gc,gc時jvm會停止響應請求,長時間暫停造成zookeeper誤認region server宕機

3)region server恢復後發現自己被標記為宕機,自己只能自殺了

解決方案:

1)檢視記憶體是否夠用

修改hbase-env.sh 中的hbase_regionserver_opts選項,增加或調大-xmx 和 -xms值

2)調整zookeeper超時時間

在hbase-site.xml增加以下配置項zookeeper.session.timeout

zookeeper.session.timeout

18000    設定成180秒

2)計算最小minsessiontimeout=2 * ticktime =4 秒

3)計算最大maxsessiontimeout=20 * ticktime =40 秒

4) 若zookeeper.session.timeout < minsessiontimeout, 那sessiontimeout 採用 minsessiontimeout

若zookeeper.session.timeout > maxsessiontimeout ,那sessiontimeout採用 maxsessiontimeout

若果session真的要調到180秒,需要調大ticktime

3)優化gc**策略

jvm堆記憶體 < 4gb,那麼使用引數 -xx:+useparnewgc     -xx:+useconcmarksweepgc

jvm堆記憶體介於4gb~32gb,使用引數 -xx:+useparnewgc    -xx:+useconcmarksweepgc 或-xx:+useg1gc

jvm堆記憶體 > 32gb,使用-xx:+useg1gc

4)配置mslab

hbase.hregion.memstore.mslab.enabled=true

hbase.hregion.memstore.chunkpool.maxsize=非0值,取值範圍0-1

hbase.hregion.memstore.chunkpool.initialsize=非0值,取值範圍0-1,代表預分配chunk占用chunk pool的比例

讀效能調優

效能調優方面分為2部分: 調整api用法,調整系統配置

使用過濾器

增加blockcache (若果快取命中率較高,可以提高blockcache大小)

調整hfile合併策略

Hbase 學習筆記 Hbase 概覽

hbase構建在 hdfs 之上,hbase內部管理的檔案全部儲存在hdfs 中 行鍵,table的主鍵,table中的記錄按照row key排序。型別為byte array 列簇,table在水平方向有乙個或者多個column family組成,乙個column family中可以由任意多個col...

HBase學習筆記(一) 《HBase簡介》

hbase簡介 1 hbase表的結構 hbase以表 table 的形式儲存資料 row key 行鍵 與nosql資料庫們一樣,row key是用來檢索記錄的主鍵。row key行鍵 row key 可以是任意字串 最大長度是 64kb,實際應用中長度一般為 10 100bytes 在hbase...

HBase學習筆記 hbase集群結構

hbase基本元件說明 client 包含訪問hbase的介面,並維護cache來加快對hbase的訪問,比如region的位置資訊。hmaster 是hbase集群的主節點,可以配置多個,用來實現ha 為regionserver分配region 負責regionserver的負載均衡 發現失效的r...