當前位置:編程學習大全網 - 源碼下載 - Hbase管理系統源代碼

Hbase管理系統源代碼

最近項目遇到了opentsdb查詢速度慢的問題。無論數據有多少,查詢總是很慢,查詢返回的數據量太大就會出現OOM。

Opentsdb是基於Hbase的,最後找到壹個解決方案可以增加Hbase的BucketCache。

原理是什麽?其實就是在查詢的時候增加緩存。HBase數據按塊存儲,默認值為64K。HBase中有兩種BlockCache實現:默認堆上LruBlockCache和BucketCache(通常是堆外)。壹般來說,BucketCache的性能比LruBlockCache差。但是由於GC的影響,LruBlockCache的延遲會變得不穩定,而BucketCache通常是穩定的,因為它自己管理BlockCache而不需要GC,這也是有時候需要BucketCache的原因。詳見HBase裏那些東西。

了解到這壹點,還是有些疑問。什麽是堆上和堆外?可以參考JVM中的堆外內存和堆上內存。

至於如何修改和更詳細的解釋,可以參考hbase官方文檔。

github上有壹個相關的問題,是2014提出的,現在還在開放狀態。大神們通過修改JVM棧的大小解決了問題,操作過程如下:

這個錯誤也很惡心。沒找到好辦法。看到壹篇文章,是通過修改opentsdb的源代碼解決的。目前的做法是將所有數據聚合起來,以更大的時間粒度存儲,以減少查詢時返回的數據量。如果哪位老板能解決這個問題,可以留言或者私信,非常感謝~

最近看了官方文檔,找到了適合我項目的解決方案,完美的解決了以上所有問題。如果妳的數據可以拆分成多個指標,可以嘗試這種方法來降低每個指標中的數據基數,而且由於Hbase是以Rowkey的方式檢索,所以會更快。

  • 上一篇:出售源代碼
  • 下一篇:socket通信壹般在用於哪裏
  • copyright 2024編程學習大全網