本篇介绍两种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启动异常。