Hadoop-Hbase環境搭建
阿新 • • 發佈:2019-01-25
一. 初始環境
1. hadoop : hadoop-1.2.12. 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. 配置環境變數
執行bash,使配置生效vi ~/.bashrc export HBASE_HOME=/usr/local/src/hbase-0.98.24-hadoop1 export PATH=$HBASE_HOME/bin:$PATH
檢視環境變數是否生效:
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.