在开启kerberos 后,hbase存在数据命名空间的问题(解决方案)

用hbase的超级用户

su - hbase
kinit -kt /etc/security/keytabs/hbase.headless.keytab hbase-bigdata@STARYEA.COM

进入后创建命名空间或数据库

hbase(main):005:0> create_namespace 'lhj_db'
0 row(s) in 0.2810 seconds
create_namespace 'lhj_ns'

hbase(main):006:0> grant 'lhj','RWC','@lhj_db'
0 row(s) in 0.5780 seconds

登录到普通用户后

先通过kinit -kt 获取凭证后

执行 hbase shell

创建表只有在命名空间下

hbase(main):003:0> create 'lhj_db:t_table','column'
0 row(s) in 4.3790 seconds

hbase(main):011:0> list
TABLE
lhj_db:t_table
lhj_db:table_a
2 row(s) in 0.0450 seconds

hbase(main):017:0> put 'lhj_db:t_table','002','column:name','lhj2'
0 row(s) in 0.0390 seconds

hbase(main):018:0> put 'lhj_db:t_table','003','column:name','lhj3'
0 row(s) in 0.0130 seconds

hbase(main):019:0> scan 'lhj_db:t_table'

hbase(main):023:0> scan 'lhj_db:t_table',{COLUMNS =>'column:name',LIMIT =>2,STARTROW => '001',STOPROW=>'003'}
ROW COLUMN+CELL
001 column=column:name, timestamp=1512375500577, value=lhj
002 column=column:name, timestamp=1512375813065, value=lhj2

HBase权限解释

HBase提供的五个权限标识符:RWXCA,分别对应着READ(‘R’), WRITE(‘W’), EXEC(‘X’), CREATE(‘C’), ADMIN(‘A’)
HBase提供的安全管控级别包括:
Superuser:拥有所有权限的超级管理员用户。通过hbase.superuser参数配置
Global:全局权限可以作用在集群所有的表上。
Namespace :命名空间级。
Table:表级。
ColumnFamily:列簇级权限。
Cell:单元级。
和关系数据库一样,权限的授予和回收都使用grant和revoke,但格式有所不同。grant语法格式:

grant user permissions table column_family column_qualifier


> grant 'hive', 'RW', 'member'
0 row(s) in 0.4660 seconds

> user_permission ‘命名空间’
User Table,Family,Qualifier:Permission
Hive member,,: [Permission: actions=READ,WRITE]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值