【实验描述】
Hbase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建起大规模结构化存储集群。本实验主要介绍Hbase的常用操作命令。
实验前提:成功搭建基础Hadoop集群环境
Hbase版本:hbase-1.2.6.1-bin.tar.gz
链接: https://pan.baidu.com/s/1t-dCbCJ_0qyjLGyNJh4H2g 提取码: 7ie1 复制这段内容后打开百度网盘手机App,操作更方便哦
[root@hadoop1 ~]# cd /opt [root@hadoop1 opt ~]# rz #Hbase软件包解压到/hadoop/soft目录中,并将解压的目录改名为hbase [root@hadoop1 opt]# tar -zxvf hbase-1.2.6.1-bin.tar.gz -C /hadoop/soft [root@hadoop1 soft]# ls hadoop hbase-1.2.6.1 jdk1.7.0_79 [root@hadoop1 soft]# mv hbase-1.2.6.1 hbase [root@hadoop1 soft]# ls hadoop hbase jdk1.7.0_79添加环境变量
[root@hadoop1 soft]# vim .bash_profile 添加以下内容: Hbase_HOME=/hadoop/soft/hbase HADOOP_HOME=/hadoop/soft/hadoop-2.8.3 JAVA_HOME=/hadoop/soft/jdk1.7.0_79 PATH=$Hbase_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH:$HOME/bin #保存退出后刷新 [root@hadoop1 soft]# source .bash_profile修改配置文件内容
[root@hadoop1 soft]# cd /hadoop/soft/hbase/conf/ [root@hadoop1 conf]# vim hbase-env.sh 修改内容如下 export JAVA_HOME=/hadoop/soft/jdk1.7.0_79 保存退出。 #执行vim hbase-site.xml命令修改文件内容 [root@hadoop1 conf]# vim hbase-site.xml 添加如下内容验证hbase.rootdir hdfs://hadoop1:9000/hbase
[root@hadoop1 conf]# cd /hadoop/soft/hbase/bin/ [root@hadoop1 bin]# start-hbase.sh starting master, logging to /hadoop/soft/hbase/bin/../logs/hbase-root-master-hadoop1.out [root@hadoop1 bin]# jps 37416 NameNode 64116 Jps 63811 HMaster 37565 DataNode 37928 NodeManager 37819 ResourceManager进入hbase shell 环境并执行基础操作
#进入shell环境 [root@hadoop1 bin]# cd /hadoop/soft/hbase/bin/ [root@hadoop1 bin]# hbase shellHbase常用命令的基础操作:
hbase(main):002:0> create 'studentinfo','info' 0 row(s) in 1.2410 seconds => Hbase::Table - studentinfo hbase(main):004:0> list TABLE studentinfo 1 row(s) in 0.0060 seconds => ["studentinfo"] hbase(main):005:0>
- 利用put命令向表 xiandian 中插入一组数据为”row01,info:name,tom”、 ”row01,info:age,23”、 ”row02,info:name,jack”、 ”row02,info:age,24”,并浏览插入的数据。
#新增数据 hbase(main):007:0> put 'studentinfo','row01','info:name','tom' 0 row(s) in 0.1670 seconds hbase(main):008:0> put 'studentinfo','row01','info:age','23' 0 row(s) in 0.0120 seconds hbase(main):009:0> put 'studentinfo','row02','info:name','jack' 0 row(s) in 0.0120 seconds hbase(main):012:0> put 'studentinfo','row02','info:age','24' 0 row(s) in 0.0080 seconds #浏览数据 hbase(main):013:0> scan 'studentinfo' ROW COLUMN+CELL row01 column=info:age, timestamp=1534061668762, value=23 row01 column=info:name, timestamp=1534061653030, value=tom row02 column=info:age, timestamp=1534061731183, value=24 row02 column=info:name, timestamp=1534061689929, value=jack 2 row(s) in 0.0540 seconds
- 利用get命令查询表 studentinfo中 rowkey 为 row01 的记录
hbase(main):014:0>get 'studentinfo','row01' COLUMN CELL info:age timestamp=1534061668762, value=23 info:name timestamp=1534061653030, value=tom 2 row(s) in 0.0170 seconds
- 删除表studentinfo中row01的所有数据
#查询表studentinfo中的数据 hbase(main):015:0> scan 'studentinfo' ROW COLUMN+CELL row01 column=info:age, timestamp=1534061668762, value=23 row01 column=info:name, timestamp=1534061653030, value=tom row02 column=info:age, timestamp=1534061731183, value=24 row02 column=info:name, timestamp=1534061689929, value=jack 2 row(s) in 0.0190 seconds // 从上述显示现象可以看到有两组数据row01和row02 #删除row01的数据 hbase(main):016:0> deleteall 'studentinfo','row01' 0 row(s) in 0.0270 seconds hbase(main):017:0> scan 'studentinfo' ROW COLUMN+CELL row02 column=info:age, timestamp=1534061731183, value=24 row02 column=info:name, timestamp=1534061689929, value=jack 1 row(s) in 0.0140 seconds // 从上述显示现象可以看到row01的数据已经删除
- 查询表studentinfo的表结构,最后将表studentinfo删除
#查看表结构
hbase(main):018:0> describe 'studentinfo'
Table studentinfo is ENABLED
studentinfo
COLUMN FAMILIES DEscriptION
{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
1 row(s) in 0.0810 seconds
#关闭表studentinfo
hbase(main):019:0> disable 'studentinfo'
0 row(s) in 2.4300 seconds
#删除表studentinfo
hbase(main):020:0> drop 'studentinfo'
0 row(s) in 1.3170 seconds
hbase(main):021:0> list
TABLE
0 row(s) in 0.0040 seconds
=> []
// 从list命令的显示现象看表studentinfo已经删除



