阻塞急救:
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...