一.在apache官方网上下载stable版本的hbase,最好将下载下来的habse放到hadoop统一目录最好(/usr/local/)
(1)编辑{HBASE_HOME}/conf/hbase-env.sh 文件,设置JAVA_HOME和HBASE_CLASSPATH变量
export JAVA_HOME=/usr/lib/jvm/java-6-sun (自己的JAVA_HOME主目录)
export HBASE_CLASSPATH=/home/daisy/hadoop-0.20.2/conf (自己的HADOOP_HOME主目录) export HBASE_MANAGES_ZK=true(运动自带的zookeeper)
(2)修改hbase-site.sh
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase(此处要和前面配置的hadoop路径一致)</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
(3)替换Hbase中的jar包
需要用{HADOOP_HOME}下的hadoop-xxx-core.jar 替换掉{HBASE_HOME}/lib目录下的hadoop-core-xxx.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。
启动Hbase的命令,进入到hbase安装主目录的bin目录下
$ ./start-hbase.sh //启动hbase
$ ./hbase shell //进入shell模式
$ ./stop-all.sh //停止hbase
如果在操作Hbase的过程中发生错误,可以通过hbase安装主目录下的logs子目录查看错误原因。