• 在开启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]

  • 相关阅读:
    使用UGUI实现拖拽功能(拼图小游戏)
    Lua入门基础
    (改)编程实验一 词法分析程序
    编程实验一 词法分析程序
    0909编译原理
    1014 C语言文法定义与C程序的推导过程
    词法分析总结
    0916作业二词法分析
    0909有关编译原理的解释
    语音文法
  • 原文地址:https://www.cnblogs.com/staryea/p/8514085.html
Copyright © 2020-2023  润新知