Hbase安装与hadoop的安装方法基本一致:

都有三种模式:单机模式、伪分布式、完全分布式

安装前环境:完全分布式下各节点相互解析DNSJAVA环境、无密码ssh

Apache下载镜像:http://www.apache.org/dyn/closer.cgi/hbase/

 

编缉配置文件conf/hbase-site.xml

<property>
   <name>hbase.rootdir</name>
   <value>file:///DIRECTORY/hbase</value>    文件目录;
 </property>
<property>
   <name>hbase.cluster.distributed</name>    开启分布式模式;默认应该是开启的;
    <value>true</value>
 </property>
</configuration>


覆盖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

S
X
X

Hadoop-0.22.x

S
X
X
Hadoop-1.0.xS
S
S
Hadoop-1.1.xNT
S
S
Hadoop-0.23.xX
S
NT
Hadoop-2.xX
S
S

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