?
本篇介绍两种HBase的安装方式:本地安装方式和伪分布式安装方式。 安装的前提条件是已经成功安装了hadoop,而且hadoop的版本要和hbase的版本相匹配。 我将要安装的hbase是hbase-0.90.4版本,需要的hadoop是hadoop-0.20.2版本。 1.单机安装 将下载的hbase-0.90.4解压到相应的目录,如/home/zhangxin/hbase-0.90.4 修改hbase-0.90.4下的conf目录下的配置文件hbase-env.sh 首先,修改hbase-env.sh中的如下属性: export JAVA_HOME=/home/zhangxin/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=/home/zhangxin/jdk1.6 export HBASE_CLASSPATH=/home/zhangxin/hadoop-0.20.2/conf export HBASE_MANAGES_ZK=true?
然后,修改hbase-site.xml文件
<property>
????? <name>hbase.rootdir</name>
???? <value>hdfs://localhost:9000/hbase</value>//此属性要根据自己的hadoop的配置信息进行相应的修改
</property>
<property>
??? <name>hbase.cluster.distributed</name>
??? <value>true</value>
</property>
替换Hbase中的jar包
需要用{HADOOP_HOME}下的hadoop-0.20.2-core.jar 替换掉{HBASE_HOME}/lib目录下的hadoop-core-0.20-append-r1056497.jar 。如果不替换jar文件Hbase启动时会因为hadoop和Hbase的客户端协议不一致而导致HMaster启动异常。报错如下:
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包解决。
完成以上操作,就可以正常启动Hbase了,启动顺序:先启动Hadoop——>再启动Hbase,关闭顺序:先关闭Hbase——>再关闭Hadoop。
参考文献http://hi.baidu.com/zhangxinandala/item/fe580e63e1297f9ac4d24917