中國HBase技術社群第二屆MeetUp -筆記摘要
阿新 • • 發佈:2018-12-23
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在哪裡?