Hbase中HMaster作用


HMaster在功能上主要負責Table表和HRegion的管理工作,具體包括:

1、管理用戶對Table表的增、刪、改、查操作;

2、管理HRegion服務器的負載均衡,調整HRegion分布;

3、在HRegion分裂后,負責新HRegion的分配;

4、在HRegion服務器停機后,負責失效HRegion服務器上的HRegion遷移。

 

 壓縮格式:默認壓縮格式是NONE。可選值有GZ、LZO、SNAPPY。

  版本數:HBase默認定義為3個版本。

  以秒為單位的存活時間TTL:使用對象是行中的列簇,一旦達到過期時間,HBase會刪除這些行。

  快大小:HBase默認的塊大小是64KB,不同於HDFS默認64MB的塊大小。原因是HBase需要支持隨機訪問。一旦找到了行鍵所在的塊,接下來就會定位對應的單元格。使用64KB大小的塊掃描速度顯然優於64MB大小的塊。

  內存模式:默認值是false。如果設置為true,HBase會嘗試將整個列簇保存在內存中。只有在需要保存時才會持久化寫入磁盤。但是在運行時HBase會嘗試將整張表加載到內存里。

  塊緩存:默認值是true。塊緩存是內存存儲,HBase使用塊緩存將最近使用的塊加載到內存中。塊緩存會根據“最近沒有使用”(LRU)的規則刪除塊數據。  

  布隆過濾:布隆過濾是一種空間高效的概率數據結構,它能檢測元素(行鍵,或行鍵與列標識的結合)“確定不”存在於表中,或元素“可能”存在於表中。默認值是NONE。可以設置為ROW,表示使用行鍵級的布隆過濾,也可以設置為ROWCOL,表示使用行鍵與列標識級別的布隆過濾。

 

(1)一般不建議設計多個列族

  具體原因如下,假如HBase表的表設置兩個兩個列族,若已一個列族1000萬行,另一個列族100行。當一個要求region分裂時候,會導致100行的列會同樣分布到多個region中。這樣就出現基數問題,會導致掃描列族A的性能低下。某個列族在flush的時候,它鄰近的列族也會因關聯效應出發flush,最終導致系統產生更多的I/O。

(2)數據塊緩存配置

  如果經常順序訪問或者很少訪問,可以關閉列族的緩存,讓BLOCKCACHE 參數設置false,列族緩存默認打開。

(3)激進緩存配置

  可以選擇一個列族賦予更高的緩存,該參數IN_MEMORY 設置true。列族默認的關閉的。

(4)布隆過濾器(BLOOMFILTER)設置

  減少硬盤讀取數據帶來的開銷。對存儲的數據塊做反向測試,占用額外的空間。

(5)生產時間配置

  超過這個時間設置的就會在下一次大合並中被刪除。TTL =>"18000"

(6)列族壓縮

  壓縮可以節省空間,讀寫數據會增加CPU的使用率 LZO,SNAPPY,GZIP

(7)單元時間版本

  默認為1個版本,可以通過指定多個版本,來保存歷史數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM