本篇介紹兩種HBase的安裝方式:本地安裝方式和僞分佈式安裝方式。java
安裝的前提條件是已經成功安裝了hadoop,並且hadoop的版本要和hbase的版本相匹配。shell
我將要安裝的hbase是hbase-0.94.11版本,須要的hadoop是hadoop-1.2.1版本。apache
hbase下載地址:http://mirror.bit.edu.cn/apache/hbase/hbase-0.94.11/app
將下載的hbase-0.94.11解壓到相應的目錄,如/usr/hbase-0.94.11分佈式
將hbase-0.90.4重命名爲hbaseoop
mv hbase-0.94.11 hbase
首先須要將hbase下的bin目錄添加到系統的path中,修改/etc/profile,添加以下的內容:spa
export PATH=$PATH:/usr/hbase/bin調試
1.單機安裝 修改hbase下的conf目錄下的配置文件hbase-env.shcode
首先,修改hbase-env.sh中的以下屬性:server
export JAVA_HOME=/usr/java/jdk1.6 export HBASE_MANAGES_ZK=true //此配置信息,設置由hbase本身管理zookeeper,不須要單獨的zookeeper。
2.僞分佈式安裝 修改hbase-0.90.4下的conf目錄下的配置文件hbase-env.sh和hbase-site.xml
首先,修改hbase-env.sh中的以下屬性:
export JAVA_HOME=/usr/java/jdk1.6 export HBASE_CLASSPATH=/usr/hadoop/conf export HBASE_MANAGES_ZK=true
而後,修改hbase-site.xml文件
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://192.168.70.130:9000/hbase</value> >//此屬性要根據本身的hadoop的配置信息進行相應的修改 </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> </configuration>
完成以上操做,就能夠正常啓動Hbase了,啓動順序:先啓動Hadoop——>再啓動Hbase,關閉順序:先關閉Hbase——>再關閉Hadoop。
首先啓動hadoop,(若是hadoop已經正常啓動能夠再也不啓動,直接查看進程是否正確,若是進程不正確,那麼必須從新調試hadoop確保hadoop正常運行後再啓動hbase)
start-all.sh //啓動hadoop jps //查看進程
2564 SecondaryNameNode 2391 DataNode 2808 TaskTracker 2645 JobTracker 4581 Jps 2198 NameNode
啓動hbase:
start-hbase.sh
jps 查看:
2564 SecondaryNameNode 2391 DataNode 4767 HQuorumPeer 2808 TaskTracker 2645 JobTracker 5118 Jps 4998 HRegionServer 4821 HMaster 2198 NameNode
能夠看到,HBase的相關進程已經啓動了
hbase shell
進入shell模式
HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 0.94.12, r1524863, Fri Sep 20 00:25:45 UTC 2013 hbase(main):001:0>
中止hbase 若是在操做Hbase的過程當中發生錯誤,能夠經過hbase安裝主目錄下的logs子目錄查看錯誤緣由
先中止hbase
stop-hbase.sh
再中止hadoop
stop-all.sh
錯誤解決方法:
1.報錯以下: localhost: Exception in thread "main" org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41) 因此若是遇到以上錯誤,就經過替換jar包解決。(通常使用新版本的hadoop 和 hbase不會出現這種錯誤)
替換Hbase中的jar包 須要用{HADOOP_HOME}下的hadoop-1.2.1-core.jar 替換掉{HBASE_HOME}/lib目錄下的hadoop-1.2.1-append-r1056497.jar 。若是不替換jar文件Hbase啓動時會由於hadoop和Hbase的客戶端協議不一致而致使HMaster啓動異常。