第一部分 安裝前准備
1.安裝hadoop
今天剛剛學了hbase的一點基礎,准備安裝Hbase實際操練一下。因為安裝hbase的前提條件是已經成功安裝了hadoop,而且hadoop的版本要和hbase的版本相匹配。於是去官網查詢了一下我安裝的hadoop-3.1.0(目前是最新版)對應支持的hbase版本,然后。。。。。發現沒有任何一版hbase是支持hadoop-3.1.0的,默默淚奔。。。。。果然最新的不一定是最好的。
查看hbase與hadoop的版本匹配情況:http://hbase.apache.org/book.html#hadoop
於是乎,又重溫了一下hadoop的安裝過程。這次我安裝的是Hadoop-2.7.7。步驟看這里。
2.安裝zookeeper
我這里安裝的是單機模式。版本是zookeeper-3.4.9.tar.gz。步驟看這里。
第二部分 安裝Hbase單機模式
1.將安裝包上傳到/usr/local目錄下,解壓縮,重命名,添加&生成環境變量
[root@hadoop ~]# cd /usr/local/ [root@hadoop local]# tar xzvf hbase-2.1.0-bin.tar.gz #解壓縮 [root@hadoop local]# mv hbase-2.1.0 hbase #重命名 [root@hadoop local]# vi /etc/profile #添加環境變量 添加變量:export HBASE_HOME=/usr/local/hbase 然后在PATH變量后面添加::$HBASE_HOME/bin [root@hadoop local]# source /etc/profile #s生成環境變量
2.修改幾個配置文件
第一個:hbase-env.sh
[root@hadoop local]# cd /usr/local/hbase/conf/ [root@hadoop conf]# vi hbase-env.sh #將以下4個變量取消注釋,修改參數如下 export JAVA_HOME=/usr/java export HBASE_CLASSPATH=/usr/local/hbase/conf export HBASE_PID_DIR=/var/hadoop/pids export HBASE_MANAGES_ZK=false #不使用HBase自帶的zookeeper
第二個:zoo.cfg
在這里我們使用的不是HBase自帶的zookeeper,而是之前已經裝好的,所以需要將我們現在的zookeeper的zoo.cfg文件復制到hbase的conf目錄下
[root@hadoop conf]# cp /usr/local/zookeeper/conf/zoo.cfg /usr/local/hbase/conf/
第三個: hbase-site.xml
[root@hadoop conf]# vi hbase-site.xml #添加如下內容 <property> <name>hbase.rootdir</name> <value>hdfs://hadoop:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>hadoop:2181</value> </property> <property> <name>hbase.tmp.dir</name> <value>/var/hbase/</value> </property> <property> <name>hbase.master</name> <value>hadoop:60000</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/local/hbase/zookeeper</value> </property>
第四個:regionservers
[root@hadoop conf]# vi regionservers #修改為主機名
hadoop
第三部分 Hbase簡單操作
1.啟動HBase。在master節點上運行 start-hbase.sh
[root@hadoop ~]# start-all.sh #啟動hadoop [root@hadoop ~]# zkServer.sh start #啟動zookeeper [root@hadoop ~]# zkServer.sh status #查看zookeeper狀態以及角色 [root@hadoop ~]# start-hbase.sh #啟動Hbase [root@hadoop ~]# jps #HBase啟動成功:顯示HMaster和HRegionServer #hadoop啟動成功:顯示NameNode、SecondaryNameNode、DataNode、ResourceManager和NodeManager #zookeeper啟動成功:顯示QuorumPeerMain 11840 HRegionServer 9313 SecondaryNameNode 12037 Jps 9030 NameNode 11718 HMaster 10055 QuorumPeerMain 9128 DataNode 9465 ResourceManager 9564 NodeManager
2.進入shell模式
[root@hadoop ~]# hbase shell #進入shell模式 ... hbase(main):001:0> status #查看HBase運行狀態 1 active master, 0 backup masters, 1 servers, 0 dead, 2.0000 average load Took 11.4351 seconds hbase(main):002:0> exit #退出 [root@hadoop ~]#
3.停止HBase。在master節點上運行 stop-hbase.sh
[root@hadoop ~]# stop-hbase.sh #關閉Hbase [root@hadoop local]# zkServer.sh stop #關閉zookeeper [root@hadoop local]# stop-all.sh #關閉hadoop [root@hadoop local]# jps #查看
第四部分 一些問題
1.啟動HBase時報錯:沒有那個文件或目錄
[root@hadoop conf]# start-hbase.sh /usr/local/hbase/bin/hbase:行645: /usr/local/java/bin/java: 沒有那個文件或目錄 running master, logging to /usr/local/hbase/logs/hbase-root-master-hadoop.out hadoop: running regionserver, logging to /usr/local/hbase/bin/../logs/hbase-root-regionserver-hadoop.out hadoop: /usr/local/hbase/bin/../bin/hbase:行645: /usr/local/java/bin/java: 沒有那個文件或目錄
原因:hbase-env.sh中JAVA_HOME配置錯誤,其應該與/etc/profile文件中的JAVA_HOME一致。
解決方法:我的/etc/profile文件中的JAVA_HOME路徑為/usr/java,而在hbase-env.sh文件中卻寫成了/usr/local/java,因而才找不到目錄。把hbase-env.sh文件中的AVA_HOME路徑改為/usr/java后,重啟HBase,成功!