一、HBase是一個分佈式的、面向列的開源數據庫。一個結構化數據的分佈式存儲系統”。HBase在Hadoop之上提供了類似於Bigtable的能力。HBase是Apache的Hadoop項目的子項目。HBase不同於一般的關係數據庫,它是一個適合於非結構化數據存儲的數據庫。另一個不同的是HBase基於列的而不是基於行的模式。
二、在理解Hbase的時候最難的部分就是理解Hbase的數據結構。簡化一點Hbase就是一個三維的數據庫。第一維度:row key(理解成mysql的主鍵ID)。第二維度:colum-family(理解成mysql的列)。第三維度column(理解爲mysql的行列座標下的JSON數據存儲)。
三、技術架構
1、HMaster節點
HMaster主要用於HRegion的分配和管理;
2、RegionServer節點
HRegionServer是HBase集羣中具體對外提供服務的進程
3、ZooKeeper集羣
ZooKeeper是HBase集羣的協調者,爲HBase集羣提供協調服務。
四、簡單部署
version: '3' services: xbd-hbase: image: harisekhon/hbase:2.1 restart: always container_name: xbd-hbase privileged: true ports: - 2181:2181 - 16010:16010
五、測試
docker exec -it xbd-hbase /bin/bash
hbase shell
六、Hbase基本語法
1、創建 create '表名稱', '列名稱1','列名稱2','列名稱N' 2、添加記錄 put '表名稱', '行名稱', '列名稱:', '值' 3、查看記錄 get '表名稱', '行名稱' 4、查看錶中記錄總數 count '表名稱' 5、刪除記錄 delete '表名' ,'行名稱' , '列名稱' 6、刪除一張表 先要屏蔽該表,才能對該表進行刪除, 第一步 disable '表名稱' 第二步 drop '表名稱' 7、查看所有記錄 scan "表名稱" 8、查看某個表某個列中所有數據 scan "表名稱" , \['列名稱:'\]