码迷,mamicode.com
首页 > 系统相关 > 详细

ubuntu14.04安装hbase和常用命令

时间:2015-12-01 16:22:15      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:

hbase安装
0. 简介

  HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》。HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。
hbase安装相对简单,就是把其整合hadoop
1.解压

tar -zxvf hbase-1.0.0-bin.tar.gz
sudo mv hbase-1.0.0 /opt/hbase
cd /opt
sudo chmod -R 775 hbase
sudo chown -R coco:coco: hbase

2.修改环境变量
sudo vim /opt/hbase/conf/hbase-env.sh
修改$JAVA_HOME为jdk安装目录
3.修改hbase-site.xml
添加:

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://localhost:9000/hbase</value>
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
</configuration>

4.启动hbase
start-hbase.sh
5.进入hbase shell
hbase shell
6.查看进程
通过jps,应该会看到一共有9个进程,分别如下:

3616 NodeManager
3008 NameNode
6945 HQuorumPeer
7010 HMaster
3302 SecondaryNameNode
3128 DataNode
7128 HRegionServer
3496 ResourceManager
7209 Jps
进程号不一定是这些
如果在启动后用list命令出现错误:ERROR: Can‘t get master address from ZooKeeper; znode data == null
请一定要记得hadoop的服务是否已经启动了,所以一定要先启动hadoop服务,才能启动HBASE。

7. HBase shell的基本用法

  hbase提供了一个shell的终端给用户交互。通过执行 help get 可以看到命令的帮助信息。
  (1) 建立一个表格scores  具有两个列族grad 和courese
hbase(main):001:0> create‘scores‘,‘grade‘, ‘course‘
0 row(s) in 0.4780 seconds

  (2) 查看当前HBase中具有哪些表
hbase(main):002:0> list
TABLE                                                                                                                                                                                         
scores                                                                                                                                                                               
1 row(s) in 0.0270 seconds

  (3) 查看表的构造
hbase(main):004:0> describe‘scores‘
DESCRIPTION                                                 ENABLED                                               
 {NAME => ‘scores‘, FAMILIES => [{NAME =>‘course‘, BLOOMFILTER => ‘NONE‘, REPLICATION_SCOPE =>‘0‘,  true                                                  
 COMPRESSION => ‘NONE‘, VERSIONS =>‘3‘, TTL => ‘2147483647‘, BLOCKSIZE =>‘65536‘, IN_MEMORY => ‘fal                                                       
 se‘, BLOCKCACHE => ‘true‘}, {NAME => ‘grade‘, BLOOMFILTER => ‘NONE‘, REPLICATION_SCOPE => ‘0‘, COMPR                                                       
 ESSION => ‘NONE‘, VERSIONS => ‘3‘, TTL => ‘2147483647‘, BLOCKSIZE =>‘65536‘, IN_MEMORY => ‘false‘,                                                        
 BLOCKCACHE => ‘true‘}]}                                                                                                                                    
1 row(s) in 0.0390 seconds

  (4) 加入一行数据,行名称为zkb 列族grad的列名为”” 值位5
hbase(main):006:0> put‘scores‘,‘zkb‘,‘grade:‘,‘5‘       
0 row(s) in 0.0420 seconds

  (5) 给zkb这一行的数据的列族course添加一列<math,97>
hbase(main):007:0> put‘scores‘,‘zkb‘,‘course:math‘,‘97‘
0 row(s) in 0.0270 seconds

  (6) 给zkb这一行的数据的列族course添加一列<art,87>
hbase(main):008:0> put‘scores‘,‘zkb‘,‘course:art‘,‘87‘
0 row(s) in 0.0260 seconds

  (7) 加入一行数据,行名称为baoniu 列族grad的列名为”” 值为4
hbase(main):009:0> put‘scores‘,‘baoniu‘,‘grade:‘,‘4‘    
0 row(s) in 0.0260 seconds

  (8) 给baoniu这一行的数据的列族course添加一列<math,89>
hbase(main):010:0> put‘scores‘,‘baoniu‘,‘course:math‘,‘89‘
0 row(s) in 0.0270 seconds

  (9) 给Jerry这一行的数据的列族course添加一列<art,80>
hbase(main):011:0> put‘scores‘,‘baoniu‘,‘course:art‘,‘80‘
0 row(s) in 0.0270 seconds

  (10) 查看scores表中zkb的相关数据
hbase(main):012:0> get‘scores‘,‘zkb‘
COLUMN                     CELL                                                                                                               
 course:art                              timestamp=1316100110921, value=87                                                                                  
 course:math                             timestamp=1316100025944, value=97                                                                                  
 grade:                                  timestamp=1316099975625, value=5                                                                                   
3 row(s) in 0.0480 seconds

  (11) 查看scores表中所有数据

  注意:scan命令可以指定startrow,stoprow来scan多个row,例如:scan ‘user_test‘,{COLUMNS =>‘info:username‘,LIMIT =>10, STARTROW => ‘test‘,STOPROW=>‘test2‘}
hbase(main):013:0> scan‘scores‘
ROW                        COLUMN+CELL                                                                                                        
 baoniu                                  column=course:art, timestamp=1316100293784, value=80                                                               
 baoniu                                  column=course:math, timestamp=1316100234410, value=89                                                              
 baoniu                                  column=grade:, timestamp=1316100178609, value=4                                                                    
 zkb                                     column=course:art, timestamp=1316100110921, value=87                                                               
 zkb                                     column=course:math, timestamp=1316100025944, value=97                                                              
 zkb                                     column=grade:, timestamp=1316099975625, value=5                                                                    
2 row(s) in 0.0470 seconds

  (12) 查看scores表中所有数据courses列族的所有数据
hbase(main):017:0> scan‘scores‘,{COLUMNS => ‘course‘}
ROW                        COLUMN+CELL                                                                                                        
 baoniu                                  column=course:art, timestamp=1316100293784, value=80                                                               
 baoniu                                  column=course:math, timestamp=1316100234410, value=89                                                              
 zkb                                     column=course:art, timestamp=1316100110921, value=87                                                               
 zkb                                     column=course:math, timestamp=1316100025944, value=97                                                              
2 row(s) in 0.0350 seconds

  (13) 删除scores表
hbase(main):024:0> disable‘scores‘
0 row(s) in 0.0330 seconds
 
hbase(main):025:0> drop‘scores‘   
0 row(s) in 1.0840 seconds

  总结下,hbase shell常用的操作命令有create,describe,disable,drop,list,scan,put,get,delete,deleteall,count,status等,通过help可以看到详细的用法。


ubuntu14.04安装hbase和常用命令

标签:

原文地址:http://www.cnblogs.com/PursuitOnly/p/5010352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!