hbase安裝(使用已經安裝的HDFS和zookeeper)
先啟動zookeeper再啟動hbase
1.在Apache官網上下載HBASE的安裝包
我安裝的是Hadoop2.4.1,所以下載了hbase-0.98.11-hadoop2-bin.tar.gz
2. 通過winscp將HBASE安裝包上傳到虛擬機器的/usr/local/檔案目錄下
3.解壓縮 tar -zxvf hbase-0.98.11-hadoop2-bin.tar.gz
4.重新命名hbase-0.98.11-hadoop2
mv hbase-0.98.11-hadoop2 hbase
5. 設定環境變數,根據實際路徑修改
vi .bashrc
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
6.切換到conf目錄下,修改配置檔案
cd /usr/local/hbase/conf
- 修改hbase-env.sh
export JAVA_HOME=/usr/local/java
export HBASE_CLASSPATH=/usr/local/hadoop/etc/Hadoop
export HADOOP_HOME=/usr/local/hadoop
export HBASE_MANAGES_ZK=false
第一個引數指定了JDK路徑;第二個引數指定了 hadoop 的配置檔案路徑;第三個引數指定了 hadoop 的安裝路徑;第四個引數設定使用 hbase 預設自帶的 Zookeeper
- 修改hbase-site.xml
vi hbase-site.xml
修改hbase-site.xml很重要,
1)hbase.rootdir得和你的hadoop配置的名字和埠一致,你可以檢視http://hadoop:50070/顯示主節點的那個,直接複製過來。也可以檢視hadood的配置檔案找。
2)hbase.cluster.distributed
3)2hbase.zookeeper.quorum這個得和zookeeper一致,去zookeeper配置檔案找
4)hbase.zookeeper.property.dataDir同上
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value> #hdfs前面不能留空格
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/zk/data</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/usr/local/hbase/data</value>
</property>
- hbase.rootdir:
就是來選擇將資料寫入到什麼目錄中,這裡我選擇的就是HDFS,因為我的Hadoop的一個HA的配置,所以我寫的就是叢集的名字cluster了,如果不是HA的話,可以寫上namenode節點名就好。後面的hbase其實就是HDFS中的一個目錄了,以後的hbase資料就會放到這個hbase目錄中的,不需要手動建立,啟動的時候會自動建立的。 - hbase.cluster.distributed
設定為true就是開啟完全分散式。 - hbase.zookeeper.quorum
設定為安裝有ZK的節點。 - hbase.zookeeper.property.dataDir
設定zk的資料存放目錄。 - hbase.tmp.dir
設定臨時檔案存放目錄,最好設定一下,要不預設的/tmp目錄重啟就會清空的。
接下來需要hbase能夠知道我的hdfs的配置,需要將hadoop中的hdfs-site.xml拷貝到hbase的conf中,至於解釋我沒有在官方文件中看到,但是在中文版官方文件http://abloz.com/hbase/book.html#standalone_dist有提到,也就是為了保證hbase和hdfs的配置一致性。
(3)修改regionservers
vi regionservers
把localhost修改為你的主機名,一個主機名換一行
我的是: master
slave1
slave2
7. 準備工作完成了,拷貝到其他主機上
scp -r hbase [email protected]:/usr/local/
scp -r hbase [email protected]:/usr/local/
8. 啟動HBASE
可以切換到hbase的bin目錄下執行
./start-hbase.sh
也可以直接執行start-hbase.sh,因為已經在.bashrc配置了hbase的環境變數
如果不成功,去上級目錄的logs檢視錯誤日誌
啟動成功以後有以下守護程序
主節點
[[email protected] ~]# jps
6273 HRegionServer
2244 NodeManager
1892 SecondaryNameNode
2149 ResourceManager
1766 DataNode
1672 NameNode
6141 HMaster
5982 QuorumPeerMain
7583 Jps
從節點
[[email protected] ~]# jps
1570 NodeManager
3683 HRegionServer
3605 QuorumPeerMain
4214 Jps
1452 DataNode
9.可以使用hbase shell 進入命令列視窗
10.web訪問地址是 主節點ip:16010/
我的是:http://master:16010/master-status
<其中master是主節點的名稱>