1. 程式人生 > >Hadoop-Hbase環境搭建

Hadoop-Hbase環境搭建

一. 初始環境

1. hadoop : hadoop-1.2.1
2. java : jdk1.6.0_45    --> 改為 jdk1.7.0_80
3. hbase : hbase-0.98.24-hadoop1

二. 啟動hadoop

hadoop安裝目錄: /usr/local/src/hbase-0.98.24-hadoop1

1. 格式化hadoop叢集

hadoop namenode -format

2.啟動叢集

start-all.sh

3.檢查hadoop啟動狀態

3.1 在master上執行jps

	2615 JobTracker
	13386 Jps
	2538 SecondaryNameNode
	2395 NameNode

3.2 在slave1,slave2節點上執行jps

	2306 DataNode
	4707 Jps
	2385 TaskTracker

3.3 測試叢集能否上傳與讀取檔案

命令如下:

#檢視hadoop檔案列表	
hadoop fs -ls /	
#上傳檔案:(自己隨便建立一個檔案即可)	
hadoop fs -put /usr/local/src/test /	
#讀取檔案:
hadoop fs -text /test

三. 下載安裝配置hbase

1. 解壓到執行目錄

tar xzvf hbase-0.98.24-hadoop1-bin.tar.gz -C /usr/local/src/

2. 配置環境變數

vi ~/.bashrc
	
export HBASE_HOME=/usr/local/src/hbase-0.98.24-hadoop1
export PATH=$HBASE_HOME/bin:$PATH
執行bash,使配置生效

檢視環境變數是否生效:
echo $HBASE_HOME

3. 修改配置檔案

進入目錄:

 /usr/local/src/hbase-0.98.24-hadoop1/conf

3.1 修改hbase-env.sh

export JAVA_HOME=/usr/local/src/jdk1.6.0_45
#使用hbase自帶的zk
export HBASE_MANAGES_ZK=true

3.2 修改regionservers

新增如下內容:

slave1
slave2

3.3 修改hbase-site.xml

配置如下內容:

    <property>
         <name>hbase.tmp.dir</name>
         <value>/var/hbase</value>
    </property>
    <property>
         <name>hbase.rootdir</name>
         <value>hdfs://master:9000/hbase</value>
    </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/src/hbase-0.98.24-hadoop1/zookeeper</value>
    </property>

遠端複製到其他兩個節點上

scp -rp /usr/local/src/hbase-0.98.24-hadoop1 slave1:/usr/local/src
scp -rp /usr/local/src/hbase-0.98.24-hadoop1 slave1:/usr/local/src
並在slave1,slave2節點上分別配置環境變數

4. 啟動hbase

start-hbase.sh

5.檢視hbase啟動狀態

執行命令:

hbase shell

之後執行命令:

status

如出現以下結果,表示hbase啟動成功:

hbase(main):009:0> status
1 active master, 0 backup masters, 2 servers, 0 dead, 1.5000 average load

四. 異常總結

在執行hbase命令時,可能會出現


在master,slave1,slave2節點上執行jps,程序啟動均是正常,但執行任何hbase命令,都報錯.

解決方案:

方法1: 

hadoop dfsadmin -safemode leave

這種方法,也是網上找到最多的解決方案,可惜嘗試之後,並不起作用;

方法2:

修改JAVA_HOME ,從1.6升級到1.7

#export JAVA_HOME=/usr/local/src/jdk1.6.0_45
export JAVA_HOME=/usr/local/src/jdk1.7.0_80
特別說明:此處只是修改了~/.bashrc中環境變數JAVA_HOME中的配置,並沒有修改hadoop-env.sh中的JAVA_HOME,也沒有修改hbase的hbase-env.sh中JAVA_HOME.