hbase0.90.4安裝總結

前段時間安裝了hbase,這裏總結一下備忘。

安裝前的準備工作:

1、保證將納入集羣中各個機器能夠ssh無密碼訪問;

2、將各個機器的時間統一,一面集羣啓動後出現不可預料的問題

1、通過命令tar xvf hbase-0.90.4.tar.gz解壓到當前文件夾
2、 修改HBase的配置文件:

編輯所有機器上的hbase安裝目錄conf目錄下的hbase-site.xml、hbase-default.xml、hbase-env.sh幾個文件,當然可以先配置主機的然後通過scp命令拷貝到虛擬機上,但是可能要做相應的路徑修改。

a. Hbase-site.xml:
編輯這個文件要注意hbase.rootdir參數,這個參數的前面部分必須與你的hadoop集羣裏的core-site.xml文件裏fs.default.name保持一致纔可以。在就是hbase該項不識別機器的IP,只能使用機器的hostname纔可以
另外,在網上查看了一些資料顯示Hbase.zookeeper.quorum個數必須爲奇數,我在實際中只有兩個機器,還是正常的啓動了
<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://a004:9000/hbase</value>
</property>
<property>
    <name>hbase.cluster.distributed</name>【hbase.cluster.distributed=false,即單機版,爲true集羣版
    <value>true</value>
</property>
<property>
    <name>hbase.master</name>
    <value>a004</value>
</property>
#這兩個選項的value值可以選擇使用ip地址代替hostname,效果一樣
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>a004,p001,p002</value>
</property>
#下面兩個可以設置也可以不設置,都是有默認值的
<property>
    <name>zookeeper.session.timeout</name>
    <value>60000</value>
</property>
<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
</property>
</configuration>


b. Hbase-default.xml(一般都修改Hbase-site.xml,這個文件可以不用修改):
如果不在Hbase-site.xml中配置,那麼可以修改Hbase-default.xml這個配置文件,只需修改前面的hbase.rootdir和hbase.cluster.distributed這兩項,之前的版本這個文件是在conf目錄下,但是在0.90.4版本中是在兩個文件夾中存在,docs和src/main/resources中,不設置也應該沒有問題。
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://a004:9000/hbase</value>---->默認是tmp目錄下,如果系統重新啓動將會刪除tmp目錄下的數據,所以這個參數要在Hbase-site.xml進行配置
  </property>
  <property>
    <name>hbase.master.port</name>
    <value>60000</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>false</value>
  </property>


c. Hbase-env.sh:
添加如下環境變量
export JAVA_HOME=/home/username/jdk1.6.0_24
export HBASE_HOME=/home/username/hbase-0.90.4
export PATH=$PATH:/home/username/hbase-0.20.6/bin
export HBASE_MANAGES_ZK=true
export HADOOP_HOME=/home/username/hadoop-0.20.2


d. 修改regionservers文件:
將所有的DataNode節點的主機名稱加進去就可以了
a004
p001
p002


3、把/home/username/hadoop/conf/hdfs-site.xml文件拷貝至hbase的conf文件夾下


4、刪除/hbase/lib/hadoop-core-0.20-append-r1056497.jar


     拷貝/hadoop-0.20.2-core.jar到/hbase-0.90.2/lib/
#這個jar包沒有替換好像也能啓動Hbase,具體可能要在操作中才會知道替換是否必要
5、最後,把配置好的hbase,拷貝到其它節點 scp :scp -r hbase/hbase-0.90.4 cloudetl@p001:~/bin/hbase


驗證安裝:
1.首先啓動hadoop集羣:jps查看namenode和datanode的服務是否正常啓動
2.啓動hbase:(執行start-hbase.sh)同樣通過jps查看,注意在master(即HMater)節點上有HMaster和HRegionServer、HQuorumPeer三個服務項(後兩者是因爲將namenode也作爲了一個HRegionServers),在datanode(即HRegionServer)中查看需要啓動的是HQuorumPeer和HRegionServer
3.整個集羣正常啓動後,我們可以通過hbase 的命令行管理界面看看是否正常
hbase shell 這個命令是進入命令行管理模式,然後可以通過list可以列舉你當前數據庫的名稱,如果失敗會有java錯誤拋出,
我們也可以通過WEB頁面來管理查看HBase數據庫 http://localhost:60010/master.jsp

在啓動了HBASE以後,用HABSE SHELL登陸上去操作試試
[gpadmin1@hadoop5 bin]$ ./hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.90.4, r1100350, Sat May  7 13:31:12 PDT 2011

hbase(main):001:0> create 'test', 'cf'
0 row(s) in 1.8140 seconds

hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.1470 seconds

hbase(main):004:0> scan 'test'
ROW                                COLUMN+CELL                                                                                    
 row1                              column=cf:a, timestamp=1308133829965, value=value1                                             
1 row(s) in 0.0600 seconds

hbase(main):005:0> list
TABLE                                                                                                                             
test                                                                                                                              
1 row(s) in 0.0250 seconds


發佈了26 篇原創文章 · 獲贊 5 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章