??斗地主捕鱼电竞提现秒到 广告位招租 - 15元/月全站展示
??支付宝搜索579087183领大额红包 ??伍彩集团官网直营彩票
??好待遇→招代理 ??伍彩集团官网直营彩票
??络茄网 广告位招租 - 15元/月全站展示
HBase常用命令

转载   2018-06-05   浏览量:119


转载自:Hbase常用命令。该文中的命令在Hbase-1.3.0中收集。

1、介绍

? ? ? ?在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分。Apache HBase从0.98.0, 0.95.2两个版本开始支持namespace级别的授权操作,HBase全局管理员可以创建、修改和回收namespace的授权。

? ? ? ?Hbase是一个NoSQL(Not only SQL)数据库。HBase通过三级定位检索数据,一是行,二是列族和列,三是时间戳(版本)。它是按列存储,按行排序。一张表可以有多个列族,一个列族可以有多个列。它的表的展示如下:


2、namespace

HBase系统默认定义了两个缺省的namespace
  • hbase:系统内建表,包括namespace和meta表
  • default:用户建表时未指定namespace的表都创建在此

创建namespace
  1. hbase>create_namespace?'ai_ns'??
删除namespace
  1. hbase>drop_namespace?'ai_ns'??
查看namespace
  1. hbase>describe_namespace?'ai_ns'??
列出所有namespace
  1. hbase>list_namespace??
在namespace下创建表
  1. hbase>create?'ai_ns:testtable',?'fm1'??
查看namespace下的表
  1. hbase>list_namespace_tables?'ai_ns'??

3、授权

具备Create权限的namespace Admin可以对表创建和删除、生成和恢复快照
具备Admin权限的namespace Admin可以对表splits或major compactions

授权tenant-A用户对ai_ns下的写权限
  1. hbase>grant?'tenant-A'?'W'?'@ai_ns'??
回收tenant-A用户对ai_ns的所有权限
  1. hbase>revoke?'tenant-A''@ai_ns'??
当前用户:hbase
  1. hbase>namespace_create?'hbase_perf'??
  2. hbase>grant?'mike',?'W',?'@hbase_perf'??
当前用户:mike
  1. hbase>create?'hbase_perf.table20',?'family1'??
  2. hbase>create?'hbase_perf.table50',?'family1'??
mike创建了两张表table20和table50,同时成为这两张表的owner,意味着有'RWXCA'权限
此时,mike团队的另一名成员alice也需要获得hbase_perf下的权限,hbase管理员操作如下
当前用户:hbase
  1. hbase>grant?'alice',?'W',?'@hbase_perf'??
此时alice可以在hbase_perf下创建表,但是无法读、写、修改和删除hbase_perf下已存在的表
当前用户:alice
  1. hbase>scan?'hbase_perf:table20'??
报错AccessDeniedException
如果希望alice可以访问已经存在的表,则hbase管理员操作如下
当前用户:hbase
  1. hbase>grant?'alice',?'RW',?'hbase_perf.table20'??
  2. hbase>grant?'alice',?'RW',?'hbase_perf.table50'??
在HBase中启用授权机制
hbase-site.xml
  1. <property>??
  2. ?????<name>hbase.security.authorization</name>??
  3. ?????<value>true</value>??
  4. </property>??
  5. <property>??
  6. ?????<name>hbase.coprocessor.master.classes</name>??
  7. ?????<value>org.apache.hadoop.hbase.security.access.AccessController</value>??
  8. </property>??
  9. <property>??
  10. ?????<name>hbase.coprocessor.region.classes</name>??
  11. ?????<value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController</value>??
  12. </property>??
配置完成后需要重启HBase集群

上海福彩选4开奖结果:4、表

彩票开奖查询 www.kbyp.net 向表写入数据:

hbase>put 'ns1:t1','row1','f1:id',100 ? ? ? //向namespace为ns1的表t1,行row1,列族f1,,列id写入值100

获取数据:

hbase>get 'ns1:t1', 'row1' ? ? ? ? ? ? ? ?//获取namespace为ns1,的表t1,行row1的数据,会获取该行所有列族

hbase>get 'ns1:t1', 'row1','f1' ? ? ? ? ? //获取namespace为ns1,的表t1,行row1,列族f1的数据,获取该行指定列族

添加列族:

hbase>alter 'ns1:t1', NAME => 'f2' ? //添加列族f2

查看表结构:

hbase>desc 'ns1:t1'

删除列族:

hbase> alter 'ns1:t1', NAME => 'f1', METHOD => 'delete' ?//删除表t1的f1列族
hbase> alter 'ns1:t1', 'delete' => 'f1'



授权相关JIRA
HBASE-8409
HBASE-9206

5、总结

HBase namespace特性是对表资源进行隔离的一种技术,隔离技术决定了HBase能否实现资源统一化管理的关键,提高了整体的安全性。


转载自:https://blog.csdn.net/SCGH_Fx/article/details/80576172

招聘 不方便扫码就复制添加关注:程序员招聘谷,微信号:jobs1024



HBase之Rowkey设计总结及方舟实战篇
一、引言HBase由于其存储和读写的高性能,在OLAP即时分析中越来越发挥重要的作用,在易观精细化运营产品--易观方舟也有广泛的应用。作为Nosql数据库的一员,HBase查询只能通过其Rowkey来查询(Rowkey用来表示唯一一行记录),Rowkey设计的优劣直接影响读写性能。HBase中的数据是按照Rowkey的ASCII字典顺序进行全局排序的,有伙伴可能对ASCII字典序印象不够深刻,下面...
HBase的java编程实例-写入词频统计
下面代码需要新建一个文本文件作为读取内容importjavaioBufferedReader;importjavaioFileReader;importjavautilList;importjavautilArrayList;importorgapachehadoopconfConfigura
Hbase regionserver 逐个挂掉的问题分析
最近遇到一个比较诡异的问题,一个regionserver由于GC的原因,导致与zookeeper链接超时,最终被踢出集群。但是,接下来的现象,才是噩梦的开始?。?!
Hbase操作命令大全
Hbase操作命令大全。一Hbase操作命令;二Namespace操作。
Hbase之Shell基本命令
Hbase之Shell基本命令?;久睿喊沧巴旰罂梢栽阡榔髦惺淙胂旅娴腢RL来测试安装是否成功:http:localhost:60010hbase目录输出日志文件所在位置:$HBASE_HOMElogs进入hbaseshellconsole$HBASE_HOMEbinhbaseshell如果有kerberos认证,需要事先使用相应的ke
HBase:架构,Compaction合并操作
HBase:架构,Compaction合并操作。compaction合并操作:compaction操作将小文件合并成大文件,加快查询速度,减少文件数量,减少资源占用。compaction分为两种:
Hbase对数据表的增删改查和对数据的增删改查
Hbase对数据表的增删改查和对数据的增删改查。
HBase的复制函数CopyToTable
HBase的复制函数CopyToTable。在日常的生产环境中,通常需要将一张已有的hbase表格直接复制给在hbase中的另一张表格,那么可以通过命令行直接调用CopyToTable来实现。首先在hbase中有一张表,如下:
HBase计算表的总count
HBase计算表的总count。
HBase常用过滤器
HBase常用过滤器。