HBASE安装过程-all
环境
hbase-0.90.3
hadoop-0.20.2
一开始我用的是hadoop-0.21.0,搞了半天搞不好,日志里面报错说连接的时候出错
2011-06-15 16:05:32,239 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.
java.io.IOException: Call to hadoop5/10.20.151.9:9000 failed on local exception: java.io.EOFException
看了半天配置看不出有什么问题,后来和同事讨论的时候才发现是版本问题,下面是HBASE文档中的原话
This version of HBase will only run on hadoop 0.20.x . It will not run on hadoop 0.21.x (nor 0.22.x).
看来文档还是要仔细看的啊
HBASE中使用了ZOOKEEPER,因此在你搭建的环境中有两种选择,一个是让HBASE帮你管理ZOOKEEPER,另外一种就是自己管理的ZOOKEEPER集群,这个特性通过在hbase-env.sh 中的HBASE_MANAGES_ZK参数来控制。
HBASE和ZOOKEEPER的安装步骤我就不多说了,可以参考一下下面的链接
http://space.itpub.net/8183550/viewspace-683603
下面我说几点需要注意的地方,在我使用的HADOOP和HBASE版本中存在一个问题,启动HBASE的时候会报错
org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41)
上网查了一下,把hbase-0.90.3/lib中的hadoop-core-0.20-append-r1056497.jar换为hadoop-core-0.20就可以了。
不过这样虽然保证HMaster能运行,但是执行hdp0:60010时,提示:没有hadoop-append的支持,可能会丢失数据。
所以其实正确的做法应该是制作hadoop-append代替hadoop-core-0.20。
在启动了HBASE以后,用HABSE SHELL登陆上去操作试试
[gpadmin1@hadoop5 bin]$ ./hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.90.3, r1100350, Sat May 7 13:31:12 PDT 2011
hbase(main):001:0> create 'test', 'cf'
0 row(s) in 1.8140 seconds
hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.1470 seconds
hbase(main):004:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1308133829965, value=value1
1 row(s) in 0.0600 seconds
hbase(main):005:0> list
TABLE
test
1 row(s) in 0.0250 seconds