CAP理論
CAP:一個分佈式系統不能同時滿足一致性,可用性,和分區容錯性
C一致性:任何一個讀操作總是能讀取到之前完成的寫操作結果,也就是在分佈式環境中,多點的數據是一致的
A可用性:每個操作總是能在確定的時間內返回,也不是系統隨時都能正常運行
P分區容錯性:在出現斷網情況下,分離的系統也能正常運行
BASE
(ACID)關係型數據庫:一致,隔離,原子,持久
BASE是反關係型數據庫:犧牲高一致性,獲得可用性。
BA:基本可用
S:軟狀態,可以有一段時間不同步
E:最終一致,而不是時時一致
架構
HMaster:是Hbase集羣的主節點,管理和分配Region,實現RegionServer的負載均衡,發現失效的RegionServer並重新分配其上的Region
RegionServer:負責管理維護Region,RegionServer存放在DateNode上
Hlog:進行一個寫請求,會首先寫到MemStore上,等到Memstore到達一定容量後,纔會flush到storefile中。
BlockCache :塊緩存 (包括日誌信息和數據信息)(讀緩存)
Region:一個Regionserver有很多region,保存分片信息
一個Hstore作爲一個存儲區,存放列簇 和緩存
StoreFile(HFile)存一個列簇
MenStore小緩存(寫緩存) 緩衝區 達到閾值寫入storeFile
搭建HBASE
1.安裝Zookeeper
修改zookeeper配置文件
zoo.cfg
修改其中dataDir=xxx
server.1=ip:2287:3387
開啓zookeeper:
zkServer.sh start
jps:若有QuorumPeerMain 則啓動成功
添加環境變量
2.HBASE
Hbase-env.sh
export JAVA_HOME=
export HBASE_MANAGES_ZK=false
hbase-site.sh
<!—hbase.rootdir 將數據寫入哪個目錄 如果是單機版只要配置此屬性就可以,value中file:/絕對路徑,如果是分佈式則配置與hadoop的core-site.sh服務器、端口以及zookeeper中事先創建的目錄一致-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.220.129:9000/hbase</value>
</property>
<!—單機模式不需要配置,分佈式配置此項爲true-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!—單機模式不需要配置 分佈是配置此項爲zookeeper指定的物理路徑名-- >
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/cm/hbase</value>
</property>
添加環境變量
HBASE啓動命令
start-hbase.sh
進入HBASE
hbase shell
Sqoop
sqoop具體使用:
https://www.cnblogs.com/qingyunzong/p/8807252.html