Hbase测试&打补丁(HBASE-5415.patch)

操作系统:CentOS
Hbase版本:0.92.0

(1)下载到/opt目录下,解压缩,改名后:/opt/hbase
(2)修改配置/opt/hbase/conf/hbase-env.sh,填写JDK目录:export JAVA_HOME=/opt/jdk
(3)修改配置/opt/hbase/conf/hbase-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
      <name>hbase.rootdir</name>
      <value>/opt/hbase</value>
  </property>
</configuration>
(4)启动:./opt/hbase/bin/start-hbase.sh(停止是stop-hbase.sh)
(5)进入hbase的shell:./opt/hbase/bin/hbase shell
(6)创建数据:create 'test', 'cf'
(7)其它测试
(8)在测试list命令时候出现问题:
hbase(main):001:0> list
TABLE

ERROR: undefined method `map' for nil:NilClass

检查日志(./opt/hbase/logs/)发现:
......
hbase.TableExistsException: No descriptor for src
......

google搜索发现可能需要打补丁:HBASE-5415.patch(https://issues.apache.org/jira/browse/HBASE-5415

(9)下载补丁到/opt目录下,
(10)在./opt/hbase目录下执行命令:patch -p0 < ../HBASE-5415.patch
(11)重新编译Hbase:
下载maven,解压缩后到./opt/hbase目录下执行命令:
./opt/apache-maven-3.0.4/bin/mvn package -Dmaven.test.skip.exec=true -Prelease
执行了两遍才成功(第一遍失败了)
(12)maven会生成target/目录,拷贝重新编译的hbase(我给改了个名)hbase-rebuild-0.92.0.tar.gz到/opt目录下
(13)给旧目录改个名(别忘了先停止旧的hbase),然后解压缩hbase-rebuild-0.92.0.tar.gz
(14)重新执行最开始的流程后,list命令就没有问题了:
hbase(main):001:0> list
TABLE
test
1 row(s) in 0.4070 seconds

hbase(main):002:0> exit

累死了,好麻烦啊啊啊啊啊啊

posted on 2012-05-03 10:26  哥是技术人  阅读(701)  评论(0编辑  收藏  举报

导航