Deploy hbase-0.91.0-SNAPSHOT

本文详细记录了部署HBase 0.91.0-SNAPSHOT的过程,包括从源代码生成tar.gz文件、使用已有的hadoop版本部署、配置伪分布式环境、启动hadoop和hbase,以及解决部署过程中遇到的HBASE-4171错误。通过修改admin.rb文件和重新打包tar.gz文件,最终成功部署并验证了HBase。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文的主要目的就是纪念一下deploy hbase-0.91.0-SNAPSHOT,过程中竟然遇到了两个问题,一个是hbase的bug,另外一个自己config上的问题。

(本文的前提是你已经安装apache-maven-3.0.并且已经安装hadoop-0.20.2-cdh3u1)

1)我主要使用的是https://github.com/larsgeorge/hbase.git提供的hbase repository, 从这里check out源代码,使用mvn打包来生成tar.gz文件

USER@ubuntu:~/workspace/java/hbase$ git clone git://github.com/larsgeorge/hbase.git

mvn package -DskipTests=true
USER@ubuntu:~/workspace/java/hbase$ ls
bin  CHANGES.txt  conf  hs_err_pid28004.log  LICENSE.txt  logs  NOTICE.txt  pom.xml  README.txt  src  target
USER@ubuntu:~/workspace/java/hbase$ cd target/
USER@ubuntu:~/workspace/java/hbase/target$ ls
antrun                classes            generated-sources          hbase-0.91.0-SNAPSHOT-sources.jar  hbase-webapps                   nativelib
archive-tmp           copynativelibs.sh  hbase-0.91.0-SNAPSHOT      hbase-0.91.0-SNAPSHOT.tar.gz       maven-archiver                  test-classes
cached_classpath.txt  generated-jamon    hbase-0.91.0-SNAPSHOT.jar  hbase-0.91.0-SNAPSHOT-tests.jar    maven-shared-archive-resources
经过上面的步骤以后我们就得到了我们想要的hbase-0.91.0-SNAPSHOT.tar.gz

(我在使用 hbase-0.91.0-SNAPSHOT.tar.gz的时候,通过hbase shell执行命令的时候遇到了https://issues.apache.org/jira/browse/HBASE-4171, 所以重新按照里面fix的方法更改了一下admin.rb,然后重新package一个新的tar.gz)

2)下面就是使用step1生成的hbase-0.91.0-SNAPSHOT.tar.gz deploy hbase了(我使用的hadoop是hadoop-core-0.20.2-cdh3u1.jar)

USER@ubuntu:~/software$ tar -xzf hbase-0.91.0-SNAPSHOT
USER@ubuntu:~/software/hbase-0.91.0-SNAPSHOT$ pwd
/home/USER/software/hbase-0.91.0-SNAPSHOT
USER@ubuntu:~/software/hbase-0.91.0-SNAPSHOT$ rm lib/hadoop-core-0.20-append-r1057313.jar
USER@ubuntu:~/software/hbase-0.91.0-SNAPSHOT$ cp /home/USER/software/hadoop-0.20.2-cdh3u1/hadoop-core-0.20.2-cdh3u1.jar ./lib/
3) 配置hbase,我们这里将hbase配置为伪分布式,在conf下面更改hbase-site.xml
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://localhost:9000/hbase2</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

(在这里我开始的时候使用的是hdfs://localhost:9000/hbase,在使用hbase shell执行hbase命令的时候出现 org.apache.hadoop.hbase.TableNotFoundException: .META. 产生这个问题的原因是我在这个hadoop上配置的另外一个版本的hbase 0.90.3已经使用了hbase这个目录,所以我更改目录为hbase2)

4) 启动hadoop和hbase(我已经将hadoop-0.20.2-cdh3u1的bin路径加入到PATH中,所以直接可以在任何目录执行start-all.sh,但是hbase-0.91.0-SNAPSHOT的bin目录并没有在PATH中)

USER@ubuntu:~/software/hbase-0.91.0-SNAPSHOT$ start-all.sh
USER@ubuntu:~/software/hbase-0.91.0-SNAPSHOT$ ./bin/start-hbase.sh
5)验证我们的hbase-0.91.0-SNAPSHOT是否已经run起来了

USER@ubuntu:~/software/hbase-0.91.0-SNAPSHOT$ ./bin/hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.91.0-SNAPSHOT, r9f14c5db3078a61d4f4d212312e3cdf95964f49e, Sun Aug  7 22:58:23 CST 2011

hbase(main):001:0> list
TABLE                                                                                                                                                                   
11/08/08 00:23:26 INFO ipc.HBaseRPC: Using org.apache.hadoop.hbase.ipc.WritableRpcEngine for org.apache.hadoop.hbase.ipc.HMasterInterface
0 row(s) in 0.5590 seconds

hbase(main):002:0> create 'user_info', 'city'
11/08/08 00:24:14 INFO ipc.HBaseRPC: Using org.apache.hadoop.hbase.ipc.WritableRpcEngine for org.apache.hadoop.hbase.ipc.HRegionInterface
0 row(s) in 0.1570 seconds

hbase(main):003:0> list 
TABLE                                                                                                                                                                   
user_info                                                                                                                                                               
1 row(s) in 0.0330 seconds

hbase(main):004:0> put 'user_info', 'shawn', 'city:name', 'beijing'
0 row(s) in 0.1070 seconds

hbase(main):005:0> scan 'user_info'
ROW                                         COLUMN+CELL                                                                                                                 
 shawn                                      column=city:name, timestamp=1312734296529, value=beijing                                                                    
1 row(s) in 0.0510 seconds

hbase(main):006:0> disable 'user_info'
0 row(s) in 2.0550 seconds

hbase(main):007:0> drop 'user_info'
0 row(s) in 1.1180 seconds

hbase(main):008:0> exit

这样hbase 0.91就搞定了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值