HBase
HBase概念:HBase是Apache旗下一個高可靠性、高性能、面向列、可伸縮的分布式資料庫,
hbase操作速度受以下兩個因素影響:
1、 表會被并發地進行插入、編輯以及洗掉操作,
2、 多個表關聯后的復雜查詢,
存盤結構
HBase表由列族組成,列族由列組成,列由key和value組成,最基本的存盤單位是列,
HMaster服務器負責維護表的結構資訊;
HRegionServer服務器負責存盤資料,
MemStore是記憶體緩沖區
通常當MemStore的大小達到128M或者占用記憶體達到總記憶體的40%時會觸發flush操作,
當StoreFile檔案數量增長到3個后,會觸發合并(Compact)操作,
當單個StoreFile的大小超過10G后,會觸發分裂(Split)操作,
只有當寫HLog和寫MemStore都成功了才算資料寫入完成,
如果日志數量達到32的時候,就會觸發強制flush操作,
HBase組件的功能
Client:包含了訪問HBase的介面,還有維護快取加速HBase的訪問,
Zookeeper:實作HMaster的高可用;監控HRegionServer的狀態;存盤.META.的地址,
HMaster:維護.META.;為HRegionServer分配Region;維護集群的負載均衡,
HRegionServer:處理客戶端的讀寫請求;管理HMaster分配的Region,
HDFS::為HBase提供最終的底層資料存盤服務,
Zookeeper集群的開啟和關閉
start-hbase.sh
stop-hbase.sh
shell中的命令
list:查看有哪些表
describe 表名:查看表的屬性
put,表名 ,rk,列族名:列名,插入的資料:插入資料
scan 表名:查看表中的資料
使用起始行 (STARTROW) 和結束行 (ENDROW) 來限制顯示記錄的條數,
get,表名,rk,列族:列名:獲取單元格資料
delete 表名,rk,列族:洗掉單元格資料
- HBase洗掉記錄并不是真的立即洗掉了資料,而是放置了一個墓碑標記,把這個版本資料標記為不可見,
deleteall 表名,rk:洗掉rk的整行記錄
disable 表名:停用表
enable 表名:啟用表
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/385526.html
標籤:其他
