本文出自:http://wuyudong.com/archives/119
對於全分布式的HBase安裝,需要通過hbase-site.xml文檔來配置本機的HBase特性,由於各個HBase之間通過zookeeper來進行通信,因此需要維護一組zookeeper系統,關於zookeeper的安裝使用,參考《hadoop2.6完全分布式安裝zookeeper3.4.6》
關於HBase的介紹,可以看這里《HBase簡介》
1、安裝Hbase
(1)下載hbase版本
下載地址:http://www.apache.org/dyn/closer.cgi/hbase/,在此路徑下選擇相應的版本下載,本次安裝下載hadoop1.1.0.1版本
(2)解壓hbase-1.1.0.1-bin.tar.gz
hadoop@master:~/opt$ tar zxvf hbase-1.1.0.1-bin.tar.gz
(3)將hbase添加到環境變量中
export HBASE_HOME=/home/hadoop/opt/hbase-1.1.0.1 export PATH=$HBASE_HOME/bin:$PATH
(4)修改配置文件
修改hbase-env.sh
export JAVA_HOME=/home/hadoop/opt/jdk1.8.0_65
修改hbase-site.xml
<configuration> <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</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hadoop/opt/zookeeper-3.4.6</value> </property> </configuration>
修改regionservers,將文件內容設置為:
master
slave1
2、運行HBase
啟動hbase時要確保hdfs已經啟動,HBase的啟動順序為:HDFS->Zookeeper->HBase,運行命令如下:
hadoop@master:~/opt/hadoop-2.6.0$ bin/hdfs namenode -format hadoop@master:~/opt/hadoop-2.6.0$ sbin/start-dfs.sh hadoop@master:~/opt/zookeeper-3.4.6$ ./zkServer.sh start hadoop@master:~/opt/hbase-1.1.0.1$ start-hbase.sh
啟動成功后集群會多出如下進程:
hadoop@master:~/opt/hbase-1.1.0.1$ jps
8145 SecondaryNameNode
7940 NameNode
8550 HRegionServer
5719 QuorumPeerMain
8600 Jps
8424 HMaster
運行成功后可以看到QuorumPeerMain進程
再看看slave1的進程:
hadoop@slave1:~/opt/zookeeper-3.4.6/bin$ jps
6915 QuorumPeerMain
7012 HRegionServer
7268 Jps
6823 DataNode
進入HBase Shell
hadoop@master:~/opt/hbase-1.1.0.1$ ./bin/hbase shell
輸入status命令:
hbase(main):001:0> status
出現錯誤:
2015-05-25 20:26:14,949 ERROR [main] client.ConnectionManager$HConnectionImplementation: Can’t get connection to ZooKeeper: KeeperErrorCode = ConnectionLoss for /hbase
設置 conf/hbase-env.sh文件中的HBASE_MANAGES_ZK 屬性為 false
問題搞定!
hbase(main):001:0> status
2 servers, 0 dead, 1.0000 average load