|
Hbase安装与hadoop的安装方法基本一致:
都有三种模式:单机模式、伪分布式、完全分布式
安装前环境:完全分布式下各节点相互解析DNS、JAVA环境、无密码ssh
Apache下载镜像:http://www.apache.org/dyn/closer.cgi/hbase/
编缉配置文件conf/hbase-site.xml
hbase.rootdir
file:///DIRECTORY/hbase 文件目录;
hbase.cluster.distributed 开启分布式模式;默认应该是开启的;
true
覆盖jar包:
由于 HBase 依赖 Hadoop,它配套发布了一个Hadoopjar 文件在它的 lib 下。该套装jar仅用于独立模式。在分布式模式下,Hadoop版本必须和HBase下的版本一致。用你运行的分布式Hadoop版本jar文件替换HBaselib目录下的Hadoop jar文件,以避免版本不匹配问题。确认替换了集群中所有HBase下的jar文件。Hadoop版本不匹配问题有不同表现,但看起来都像挂掉了。
版本选择问题:
HBase-0.92.xHBase-0.94.xHBase-0.96 Hadoop-0.20.205
SXX Hadoop-0.22.x
SXXHadoop-1.0.xSSSHadoop-1.1.xNTSSHadoop-0.23.xXSNTHadoop-2.xXSS S = supported and tested,支持
X = not supported,不支持
NT = not tested enough.可以运行但测试不充分
启动和验证hbase:
#./bin/start-hbase.sh
starting Master,logging to logs/hbase-user-master-example.org.out
# jps
6022 Jps
4150 SecondaryNamenode
5898 HRegionServer 单机下不会有这个进程
5789 HMaster
5898 HQuorumPeer
4072 NameNode
4367 JobTracker
HBase Shell学习:
用shell连接hbase:
# ./bin/hbase shell 创建一个名为 test 的表,并有一个列族 lz
hbase(main):003:0>create 'test', 'cf'
0row(s) in 1.2200 seconds
hbase(main):003:0>list 'table'
test
1row(s) in 0.0550 seconds
注意: 在这个shell下,所有的表名,列族名都要加引号‘’;
在test表 列族lz中加入几行值:
hbase(main):004:0>put 'test', 'row1', 'lz:a', 'value1'
0row(s) in 0.0560 seconds
hbase(main):005:0>put 'test', 'row2', 'lz:b', 'value2'
0row(s) in 0.0370 seconds
扫描这个表:
hbase(main):007:0>scan 'test'
ROW COLUMN+CELL
row1 column=lz:a, timestamp=1288380727188,value=value1
row2 column=lz:b, timestamp=1288380738440,value=value2
2row(s) in 0.0590 seconds
获取一行的值:
hbase(main):008:0>get 'test', 'row1'
COLUMN CELL
lz:a timestamp=1288380727188, value=value1
1row(s) in 0.0400 seconds
删除一张表: 要先disabled再drop;
hbase(main):012:0>disable 'test'
0row(s) in 1.0930 seconds
hbase(main):013:0>drop 'test'
0row(s) in 0.0770 seconds
|
|
|