簡述:Hbase是Hadoop領域的數據庫,是面向列存儲的列式數據庫。shell
a) 行式數據庫優缺點數據庫
i. 數據在表中的位置空間是肯定的,指針在訪問只要知道首地址就能夠高效獲取其餘數據數組
ii. 但在經常使用的可能只是全部列中的部分列的數據,但是行式數據庫會自動查詢全部的列,只是在客 戶端進行數據的過濾,會浪費大量的帶寬和空間ide
b) 列式數據庫的優缺點oop
i. 一張不規則的表(人物畫像)每行屬性有大量的null ui
ii. 相似於交錯數組,只使用在特定的領域指針
1.邏輯模型code
a) 表 近似於行式數據庫的表server
b) 行 近似於行式數據庫的行xml
c) 列 是不能脫離列簇獨立存在的,在行式數據庫中沒有
d) 行健 近似於行式數據庫的主鍵
e) 時間戳 相似於timestamp 自然在,不須要用戶本身建立
物理模型
Hbase數據在進行存儲時,是按照行健存儲。會本身比較行健大小後進行存儲
a) 列簇 是單獨存儲一系列列的文件
存儲模型
a) Region
i. Table在行的方向上分割爲多個Region,一個region由[startkey,endkey]表示,每一個Region分散 在不一樣的RegionServer中
4.體系結構
a) 主從式結構,主節點稱做master,從節點稱爲region server。
b) 工做方式
把Hbase文件夾拉到opt中
//解壓
[root@bigdata opt]# tar -zxvf hbase-1.2.0-cdh5.14.2.tar.gz
//移動到新的文件夾(沒有就自動新建)
[root@bigdata opt]# mv hbase-1.2.0-cdh5.14.2 bigdata/hbase120
移動到hbase下面[root@bigdata opt]# cd bigdata/hbase120/
[root@bigdata hbase120]# cd conf/
修改文件夾
[root@bigdata conf]# vi hbase-env.sh export JAVA_HOME=/opt/inst/jdk181 //開啓Hbase讓Zookeeper管理 export HBASE_MANAGES_ZK=false //修改配置文件 [root@bigdata conf]# vi hbase-site.xml <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://192.168.56.101:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/opt/zkdir</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> </configuration> //配置環境變量 [root@bigdata conf]# vi /etc/profile export HBASE_HOME=/opt/bigdata/hbase120 export PATH=$PATH:$HBASE_HOME/bin //從新激活一下環境變量 [root@bigdata conf]# source /etc/profile [root@bigdata conf]# cd .. [root@bigdata hbase120]# cd bin/ [root@bigdata bin]# ls //從新啓動hbase [root@bigdata bin]# start-hbase.sh jps查看一下 [root@bigdata bin]# jps 2880 NameNode 3330 ResourceManager 2979 DataNode 3171 SecondaryNameNode 3427 NodeManager 6069 QuorumPeerMain 7525 HRegionServer 7386 HMaster 7855 Jps //進入hbase 使用 [root@bigdata hbase120]# hbase shell //退出hbase命令 hbase(main):001:0> quit() 關閉命令要一條一條的 //順序不要錯 關閉的命令 //關閉hbase命令 [root@bindata hbase120]#stop-hbase.sh //關閉Zookeeper命令 [root@bindata hbase120]#zkServer.sh stop //關閉Hadoop命令 [root@bindata hbase120]#stop-all.sh //虛擬機如今關機 [root@bindata hbase120]#shutdown now
[root@bigdata hbase120]# hbase shell