基於Hadoop2.7.2分散式環境,安裝HBase
1. 下載HBase並解壓縮
① 到官網下載HBase,下載連結HBase官網下載 ,1.4.8版本是stable版本,可以選擇下載該版本,本人下載的是hbase-1.4.6-bin.tar.gz
。也有映象下載地址:HBase映象下載
② 解壓縮HBase
$ sudo tar -zxvf hbase-1.4.6-bin.tar.gz
$ sudo chmod -R 0777 hbase-1.4.6 #設定檔案許可權
$ sudo cp -rf hbase-1.4.6 /home/cephlee # 移動到相應的目錄下
2. 配置HBase分散式環境
注意:每個步驟後面的節點提示,表示該步驟應該在哪個節點上進行操作!
① 設定系統環境變數(master節點)
使用gedit
命令在~/.bashrc
檔案中新增HBase的系統環境變數
$ sudo gedit ~/.bashrc
新增如下內容:
export HBASE_HOME=/home/cephlee/hbase-1.4.6
export PATH=$PATH:$HBASE_HOME/bin
使用source
命令使環境變數生效,並檢視系統環境變數是否配置成功:
$ source ~/.bashrc
$ hbase version
顯示的HBase資訊如下:
② 配置hbase-1.4.6/conf/hbase-env.sh
檔案(master節點)
在相應位置配置JAVA_HOME、HBASE_CLASSPATH:
# The java implementation to use. Java 1.7+ required.
export JAVA_HOME=/usr/local/jdk17
# Extra Java CLASSPATH elements. Optional.
export HBASE_CLASSPATH=${HADOOP_HOME}/etc/hadoop/
去掉# export HBASE_MANAGES_ZK=true
之前的#號,表示使用HBASE自帶的zookeeper管理叢集。
③ 配置hbase-1.4.6/conf/hbase-site.xml
檔案(master節點)
在檔案中新增以下內容:
<configuration>
<property>
<name>hbase.cluster.distributed</name> <!-- 是否分散式部署 -->
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name> <!-- hbase存放資料目錄 -->
<value>hdfs://adminserver:8020/hbase</value> <!-- 埠要和Hadoop的fs.defaultFS埠一致-->
</property>
<property>
<name>hbase.zookeeper.quorum</name> <!-- list of zookooper -->
<value>adminserver,monserver,osdserver1,osdserver2,osdserver3</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name> <!--zookooper配置、日誌等的儲存位置 -->
<value>/home/cephlee/zookeeper</value>
</property>
</configuration>
④ 配置hbase-1.4.6/conf/regionservers
檔案(master節點)
去掉檔案中的內容,將配置好的Hadoop叢集中的slaves節點名新增在該檔案中:
monserver
osdserver1
osdserver2
osdserver3
⑤ 按照同樣的方法,新增slaves節點的系統環境變數(slaves節點)
ssh到所有的slaves節點,重複步驟① ,在~/.bashrc
檔案中新增HBase的系統環境變數。
⑥ 拷貝HBase檔案到slaves節點(master節點)
使用scp
命令,將HBase檔案拷貝到slaves節點:
$ scp -r hbase-1.4.6 monserver:/home/cephlee
$ scp -r hbase-1.4.6 osdserver1:/home/cephlee
$ scp -r hbase-1.4.6 osdserver2:/home/cephlee
$ scp -r hbase-1.4.6 osdserver3:/home/cephlee
可在slaves節點上,使用hbase version
命令驗證系統環境變數是否配置正確!
3. 啟動HBase
注意:每個步驟後面的節點提示,表示該步驟應該在哪個節點上進行操作!
① 啟動Hadoop叢集(master節點)
$ start-dfs.sh
$ start-yarn.sh
$ mr-jobhistory-daemon.sh start historyserver
② 啟動HBase叢集(master節點)
$ start-hbase.sh
啟動資訊如下:
若要關閉HBase叢集,使用如下命令:
$ stop-hbase.sh
關閉資訊如下:
② 使用jps
命令檢視hbase相關程序啟動情況(所有節點)
若master節點上出現HMaster
、HQuormPeer
,slaves節點上出現HRegionServer
、HQuorumPeer
,就是啟動成功!
$ jps
在master節點上有以下程序,包括hadoop的程序:
在salves節點上有以下程序,包括hadoop的程序:
其中我的名為master
的slaves節點被系統選做備用主節點,程序會與其他slaves節點不同,多出一個HMaster
程序:
③ 通過web頁面訪問叢集資訊(所有節點)
在瀏覽器中輸入http://192.168.202.34:16010 ,檢視叢集配置。其中,192.168.202.34
是master節點的IP地址。
在瀏覽器中輸入http://192.168.202.31:16030 ,檢視slaves節點狀態。其中,192.168.202.31
是slaves節點的ip地址。
④ 通過hbase shell
命令,進入hbase命令模式(master節點)
$ hbase shell
$ status # 檢視所有的節點啟動資訊
有如下資訊,說明HBase叢集啟動成功: