1. 程式人生 > >Hadoop-1.2.1安裝HBase(偽分佈模式)

Hadoop-1.2.1安裝HBase(偽分佈模式)

我是在hadoop1.2.1版本的基礎上安裝0.98.6版本的hbase。

安裝步驟前面和安裝HBase單機模式是一樣的

 (可參考我的另一篇文章:

                http://blog.csdn.net/zhangxbj/article/details/40112529)

假設已經裝好了hadoop1.2.1,然後我們現在就下載hbase-0.98.6.1-hadoop1-bin.tar.gz

假如hadoop的安裝目錄為/usr/hadoop/hadoop-1.2.1, 並計劃將HBase安裝在/usr/hadoop下,首先下載穩定版的HBase安裝包並解壓到/usr/hadoop目錄下面。

$ tar xfz hbase-0.98.6.1-hadoop1-bin.tar.gz
$ mv hbase-0.98.6.1-hadoop1-bin /usr/hadoop

之後把/usr/hadoop目錄下的hbase-0.98.6.1-hadoop1-bin資料夾右鍵重新命名為hbase-0.98.6,方便後面操作而已。

安裝hbase前的配置檔案修改

1)進入解壓後的hbase資料夾,進入conf目錄編輯hbase-env.sh檔案,啟用配置檔案內這三項配置,去掉前面的“#”號,再修改配置就行了,具體如下:

export JAVA_HOME=/usr/local/lib/jdk1.7.0_67 (設定本機jdk安裝目錄,這裡是我本機的路徑)

export HBASE_Classpath=/home/hadoop/usr/hadoop/hadoop-1.2.1/conf (指定本機hadoop安裝的配置檔案所在的目錄,這裡是我本機的路徑

)

export HBASE_MANAGES_ZK=true

值預設是true作用是讓Hbase啟動的時候同時也啟動zookeeper,讓Hbase使用一個現有的不被Hbase託管的Zookeep叢集,需要設定為 false

2)接著修改conf目錄下的hbase-site.xml檔案,新增如下配置內容:

<property>

<name>hbase.rootdir</name>

<value>hdfs://localhost:9000/hbase</value> (這裡要和hadoop配置的一樣

</property>

hbase.rootdir屬性解釋

這裡用來設定region server的共享目錄,用來持久化Hbase。URL需要是'完全正確'的,還要包含檔案系統的scheme。例如,要表示hdfs中的'/hbase'目錄,namenode 執行在node1的9090埠。則需要設定為hdfs://node1:49002/hbase。預設情況下Hbase是寫到/tmp的。不改這個配置,資料會在重啟的時候丟失。預設: file:///tmp/hbase-${user.name}/hbase

<property>

<name>hbase.cluster.distributed</name>

<value>true</value

</property>

hbase.cluster.distributed屬性解釋:Hbase的執行模式。false是單機模式,true是分散式模式。若為false,Hbase和Zookeeper會執行在同一個JVM裡面。預設: false

<property>

<name>dfs.replication</name>

<value>1</value> (偽分佈設定為1)

</property>

3)讓hbase0.98.6支援hadoop1.2.1(可以省略,0.98.6完美支援hadoop1.2.1,如果是其他版本hbase可能需要這步)

將hadoop主目錄下的hadoop-core-1.2.1.jar檔案複製到hbase/lib目錄下去,將hbase/lib 目錄下老得hadoop-core-1.0.4.jar檔案刪除

再將hadoop/lib目錄下的commons-collections-3.2.1.jar和commons-configuration-1.6.jar檔案複製到hbase/lib目錄下去。 

4)啟動hbase

進入hbase的解壓目錄下的bin資料夾,執行start-hbase.sh指令碼或者在linux下執行shell命令

# cd /home/hbase/bin

# start-hbase.sh

啟動hbase時如果報錯,說明hbase沒有安裝正確,可能是配置檔案沒有配好,請仔細檢查配置檔案) 


啟動完成,我們可以輸入命令來驗證需要的服務程序是否都起來了。輸入命令:

# /usr/local/lib/jdk1.7.0_67/bin/jps