1. 程式人生 > >中國HBase技術社群第二屆MeetUp -筆記摘要

中國HBase技術社群第二屆MeetUp -筆記摘要

kylin:通過預計算(已知要查詢的維度),通過spark,mr遍歷計算這些指標,然後將結果儲存到hbase中,最後直接查詢hbase表即可。

hbase rowkey定義不宜過長,否則儲存壓力會很大。這裡通過使用字典編碼。

hbase 優化經驗:

火焰圖分析:從下往上分析,峰值的分佈(滿載還是正常)

hbase記憶體消耗主因(memstore(寫檔案), blockcache(讀取))

兩種不同的gc演算法:
hbase gc 引數配置:

使用G1演算法,效果顯著。

hbase WAL 和核心業務配置為ALL_SSD(所有副本使用SSD)

指定佇列

分別使用HDD, ONE_SSD, ALL_SSD ,和使用讀寫分離。效能的變化。。

設定zone_reclaim。。可以避免本地記憶體不夠導致OOM。(numa的問題)

hbase (高一致性,一行資料一般都是通過一個regionserver來處理,通過單機來保證一致性,所以發生故障,恢復可能會較慢)和
Cassandra(HA要求高,一致性較低(一半副本寫完既可以,所以讀取時可能讀取不到最新資料,然後通過非同步重新整理,知道最終寫完副本),
redis(叢集方式不完善)的區別

why?region crash 為true, 就無法恢復上不了線。

不做compaction(合併),flush。

怎麼把磁碟打滿(利用起來)?

限流不要太狠,需因地制宜

避免小檔案生成,和compaction合併。是否配置自動(1h)flush,和多少changes(3千萬)flush。

到底寫多少hlog根據盤數目:(怎麼把磁碟用起來)

遠端讀和hybrid 都需要注意網路問題

使用jsata去檢視handler wait在哪裡?