Ubuntu 13.04上搭建Hadoop环境
Ubuntu 12.10 +Hadoop 1.2.1版本集群配置
搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建)
配置:
conf/hbase-site.xml 去配置hbase.rootdir,来选择Hbase将数据写到哪个目录 .
单机配置,只需要如下配置hbase-site.xml:
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop1:49002/hbase</value>
<description>The directory sharedbyRegionServers.
</description>
</property>
默认hbase.rootdir是指向 /tmp/hbase-${user.name} ,也就说你会在重启后丢失数据(重启的时候操作系统会清理/tmp目录)
1.2. 启动 HBase
现在启动Hbase:
$ ./bin/start-hbase.sh
starting Master, logging tologs/hbase-user-master-example.org.out
现在你运行的是单机模式的Hbaes。所以的服务都运行在一个JVM上,包括Hbase和Zookeeper。Hbase的日志放在logs目录,当你启动出问题的时候,可以检查这个日志。
1.3. Hbase Shell
用shell连接你的Hbase
$ ./bin/hbase shell
HBase Shell; enter'help<RETURN>' for list of supported commands.
Type"exit<RETURN>" to leave the HBase Shell
Version: 0.90.0, r1001068, FriSep 24 13:55:42 PDT 2010
hbase(main):001:0>
输入 help 然后 <RETURN> 可以看到一列shell命令。这里的帮助很详细,要注意的是表名,行和列需要加引号。
创建一个名为 test 的表,这个表只有一个column family 为 cf。可以列出所有的表来检查创建情况,然后插入些值。
hbase(main):003:0> create 'myhbase_table','cf'
0 row(s) in 1.2200 seconds
hbase(main):003:0> list'table'
myhbase_table
1 row(s) in 0.0550 seconds
hbase(main):004:0> put 'myhbase_table','row1', 'cf:a', 'value1'
0 row(s) in 0.0560 seconds
hbase(main):005:0> put 'myhbase_table','row2', 'cf:b', 'value2'
0 row(s) in 0.0370 seconds
hbase(main):006:0> put 'myhbase_table','row3', 'cf:c', 'value3'
0 row(s) in 0.0450 seconds
以上我们分别插入了3行。第一个行key为row1, 列为 cf:a, 值是 value1。Hbase中的列是由 column family前缀和列的名字组成的,以冒号间隔。例如这一行的列名就是a.
检查插入情况.
Scan这个表,操作如下
hbase(main):007:0> scan 'myhbase_table'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1288380727188, value=value1
row2 column=cf:b, timestamp=1288380738440, value=value2
row3 column=cf:c, timestamp=1288380747365, value=value3
3 row(s) in 0.0590 seconds
Get一行,操作如下
hbase(main):008:0> get 'myhbase_table','row1'
COLUMN CELL
cf:a timestamp=1288380727188, value=value1
1 row(s) in 0.0400 seconds
disable 再 drop 这张表,可以清除你刚刚的操作
hbase(main):012:0> disable 'myhbase_table'
0 row(s) in 1.0930 seconds
hbase(main):013:0> drop 'myhbase_table'
0 row(s) in 0.0770 seconds
关闭shell
hbase(main):014:0> exit
1.4. 停止 HBase
运行停止脚本来停止HBase.
$./bin/stop-hbase.sh
stoppinghbase...............