三、Fedora服务器Hbase配置安装过程:
我用的版本是Hbase-0.94.23,下载网http://apache.etoak.com//hbase/hbase-0.94.23/
将Hbase-0.94.233解压到系统主目录下,伪分布式的配置如下:
(1)编辑{HBASE_HOME}//conf/hbase-env.sh 文件,设置JAVA_HOME和HBASE_CLASSPATH变量
export JAVA_HOME=/usr/java/jre1.8.0_25 (自己的JAVA_HOME主目录)
export HBASE_CLASSPATH=/home/hbase/hadoop-0.94.23/conf (自己的HADOOP_HOME主目录)
(2)编辑{HBASE_HOME}/conf/hbase-site.xml 文件,增加以下内容
<property> <name>hbase.rootdir</name> <value>hdfs://192.168.11.129:8020/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> |
注:以上表格中标红色的路径一定要跟hadoop中core-site.xml中fs.default.name中的路径相同,否则会出错。
(3)替换Hbase中的jar包
需要用{HADOOP_HOME}下的hadoop-1.21.1-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
启动Hbase的命令,进入到hbase安装主目录的bin目录下
# ./start-hbase.sh //启动hbase
# ./hbase shell //进入shell模式
# ./stop-all.sh //停止hbase
如果在操作Hbase的过程中发生错误,可以通过hbase安装主目录下的logs子目录查看错误原因。
注意:
(1)hbase的运行需要用到zookeeper,而hbase-0.94.23自带了zookeeper,所以可以使用hbase自带的zookeeper,在conf/hbase-env.sh 文件中 export HBASE_MANAGES_ZK=true
true表示使用hbase自带的zookeeper,如果不想使用其自带的zookeeper,自己下载包安装的化,该项设置为false。
当然如果自己安装zookeeper,启动及关闭先后顺序为:
启动Hadoop—>启动ZooKeeper集群—>启动HBase—>停止HBase—>停止ZooKeeper集群—>停止Hadoop
(2) hbase启动时报错:localhost: Exception in thread "main" org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42,
server = 41) ,原因就是上面hbase安装第三步中提到的没有替换jar包的原因。
已经编译打包好的hadoop-eclipse插件,请从我的博客里下载。