Hbase工具介绍,安装,使用
1、HBase简介
HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建大规模结构化的存储集群。HBase的目标是存储并处理大型数据,具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。
与MapReduce的离线批处理计算框架不同,HBase是一个可以随机访问的存储和检索数据平台,弥补了HDFS不能随机访问数据的缺陷,适合实时性要求不是非常高的业务场景。HBase存储的都是Byte数组,它不介意数据类型,允许动态、灵活的数据模型。
2、HBase安装(centos系统、hbase1.1.3)
一.下载并解压包
Cd /opt
Wget http://hbase.apache.org/tar -xvf hbase-1.1.3-bin.tar.gz
二.配置1.7 jdk及环境变量
Export JAVA_HOME=/opt/jdk1.7
Export PATH=$JAVA_HOME/bin:$PATH
三.单机启动hbase
sh hbase-daemon.sh start master
./hbase shell
四.创建数据库(链接参考https://blog.csdn.net/scutshuxue/article/details/6988348)
创建表create ‘数据库名’,’列名’
插入数据put ‘数据库名’,’行名’,‘列名’,’值’
list ‘数据库名’
五.配置web
vi /etc/hbase1.1.3/conf/hbase-site.xml 在configure里面添加如下配置
<property>
<name>hbase.master.info.port</name>
<value>8080</value>
</property>
登录localhost:8080
3、HBase使用
下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下:
名称命令表达式
创建表create '表名称', '列名称1','列名称2','列名称N'
添加记录 put '表名称', '行名称', '列名称:', '值'
查看记录get '表名称', '行名称'
查看表中的记录总数count '表名称'
删除记录delete '表名' ,'行名称' , '列名称'
删除一张表先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步 drop '表名称'
查看所有记录scan "表名称"
查看某个表某个列中所有数据scan "表名称" , ['列名称:']
更新记录 就是重写一遍进行覆盖
1.创建一个表
hbase(main):011:0>create 'member','member_id','info:age', 'name' ,'class','city','area'
2.列举表
hbase(main):012:0>list
3、描述表结构
hbase(main):006:0>describe 'member'
4、插入数据,hbase每次put只能插入一行数据,如果想插入多行数据,需要执行多次put命令
put 'member','1','info:age','24'
put 'student','1','name','wang'
put 'student','1',':class','1'
put 'student','1','city','zhangzhou'
put 'student','1','area','High-tech zone'
5、获取记录
get 'student' ,'1'
6、删除操作
delete 'student','1','name'
7、删除表
hbase(main):029:0>disable 'student' #
hbase(main):030:0>drop 'student'
8、权限管理
1)分配权限
# 语法 : grant <user> <permissions> <table> <column family> <column qualifier> 参数后面用逗号分隔
# 权限用五个字母表示: "RWXCA".
# READ('R'), WRITE('W'), EXEC('X'), CREATE('C'), ADMIN('A')
# 例如,给用户‘test'分配对表t1有读写的权限,
hbase(main)> grant 'test' , 'RW' , 't1'
2)查看权限
# 语法:user_permission <table>
# 例如,查看表t1的权限列表
hbase(main)> user_permission 't1'
3)收回权限
# 与分配权限类似,语法:revoke <user> <table> <column family> <column qualifier>
# 例如,收回test用户在表t1上的权限
hbase(main)> revoke 'test' , 't1'
9、删除表中的所有数据
# 语法: truncate <table>
# 其具体过程是:disable table -> drop table -> create table
# 例如:删除表t1的所有数据
hbase(main)> truncate 't1'