hadoop学习日记五 hbase体验

原理啥的稍候再说,先体验一下hbase。

从官网上下载hbase hbase-0.92.1.tar.gz,然后复制wenbo00这个虚拟机上,然后使用tar命令解压,解压后在本机的位置为/home/hbase-0.92.1,进入conf目录下,编辑hbase-site文件

<configuration>
 <property>
   <name>hbase.rootdir</name>
   <value>hdfs://wenbo00:9000/hbase</value>
 </property>
 <property>
   <name>hbase.cluster.distributed</name>
   <value>true</value>
 </property>
 <property>
   <name>hbase.zookeeper.quorum</name>
   <value>wenbo01</value>
 </property>
 <property>
   <name>hbase.tmp.dir</name>
   <value>/home/hadoop/hbase-tmp</value>
 </property>
</configuration>

注意hbase.rootdir中hdfs://wenbo00:9000/这个地址必须与hadoop相同,hbase.zookeeper.quorum配置的数量必须为奇数。

修改hbase-env.sh文件。配置jdk home

export JAVA_HOME=/home/java/jdk1.6.0_31

修改/etc/profile文件,添加hbase的环境变量

export HBASE_HOME=/home/hbase-0.92.1
export PATH=$HBASE_HOME/bin:$PATH

将所有的dataNode配置在regionservers中

wenbo01
wenbo02

最后利用scp命令将hbase目录复制到各个dataNode之上。

完成后启动hbase

root@wenbo00:/home/hbase-0.92.1/conf# start-hbase.sh
wenbo01: starting zookeeper, logging to /home/hbase-0.92.1/bin/../logs/hbase-root-zookeeper-wenbo01.out
starting master, logging to /home/hbase-0.92.1/logs/hbase-root-master-wenbo00.out
wenbo01: starting regionserver, logging to /home/hbase-0.92.1/bin/../logs/hbase-root-regionserver-wenbo01.out
wenbo02: starting regionserver, logging to /home/hbase-0.92.1/bin/../logs/hbase-root-regionserver-wenbo02.out

使用JPS命令查看NameNode,可以看到新加入的HMaster

root@wenbo00:/home/hbase-0.92.1/conf# jps
2886 Jps
1431 SecondaryNameNode
2698 HMaster
1503 JobTracker
1287 NameNode

使用JPS命令查看wenbo01的DataNode,可以看到除了启动 HRegionServer外,还启动了 HQuorumPeer

root@wenbo01:~# jps
1367 DataNode
1434 TaskTracker
1724 HQuorumPeer
1947 Jps
1808 HRegionServer

使用JPS命令查看wenbo02的DataNode,只增加了HRegionServer的启动

root@wenbo02:~# jps
1744 HRegionServer
1897 Jps
1369 DataNode
1437 TaskTracker

成功启动hbase后,使用命令进入hbase的命令行

root@wenbo00:/home/hbase-0.92.1/conf# hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.92.1, r1298924, Fri Mar  9 16:58:34 UTC 2012

hbase(main):001:0>

创建一个名为test,只有一列的表

hbase(main):001:0> create 'test','cf'
0 row(s) in 36.3930 seconds

查看刚才创建的表

hbase(main):003:0> list
TABLE
test
1 row(s) in 0.0410 seconds
 

往test表里插入三条数据

hbase(main):004:0> put 'test','row1','cf:a','valueA'
0 row(s) in 0.4260 seconds

hbase(main):005:0> put 'test','row2','cf:b','valueB'
0 row(s) in 0.0460 seconds

hbase(main):006:0> put 'test','row3','cf:c','valueC'
0 row(s) in 0.0680 seconds
 

  查看刚刚插入的数据

hbase(main):007:0> scan 'test'
ROW                  COLUMN+CELL
 row1                column=cf:a, timestamp=1332151134694, value=valueA
 row2                column=cf:b, timestamp=1332151172105, value=valueB
 row3                column=cf:c, timestamp=1332151197886, value=valueC
3 row(s) in 0.0570 seconds
 

查看指定的某一行

hbase(main):009:0> get 'test','row1'
COLUMN               CELL
 cf:a                timestamp=1332151134694, value=valueA
1 row(s) in 0.0770 seconds

禁用表

hbase(main):010:0> disable 'test'
0 row(s) in 2.1980 seconds

删除表

hbase(main):012:0> drop 'test'
0 row(s) in 1.9930 seconds

hbase(main):013:0> list
TABLE
0 row(s) in 0.0510 seconds
 

猜你喜欢

转载自tianwenbo.iteye.com/blog/1457783