Hbase权限访问命令、报错:Grant无权限(acl文件少了)

一、权限访问类型

1、HBase支持做权限访问控制,HBase的权限访问包括以下5种权限
  1. Read( R ) 允许对某个scope有读取权限
  2. Write( W ) 允许对某个scope有写入权限
  3. Execute( X ) 允许对某个scope有执行权限
  4. Create( C ) 允许对某个scope有建表、删表权限
  5. Admin( A ) 允许对某个scope做管理操作,如balance、split、snapshot等
2、Scope包含以下几种
  1. superuser 超级用户,一般为hbase用户,有所有的权限
  2. global 全局权限,针对所有的HBase表都有权限
  3. namespace namespace下面的所有表权限都有权限
  4. table 表级别权限
  5. columnFamily 列族级别权限
  6. cell 单元格级别权限
3、命名空间namespace
1)namespace指的是一个表的逻辑分组,同一组中的表有类似的用途。

命名空间的概念为即将到来的多租户特性打下基础:

  1. 配额管理(Quota Management
    (HBASE-8410)):限制一个namespace可以使用的资源,资源包括region和table等;
  2. 命名空间安全管理(Namespace Security Administration
    (HBASE-9206)):提供了另一个层面的多租户安全管理;
  3. Region服务器组(Region server groups
    (HBASE-6721)):一个命名空间或一张表,可以被固定到一组regionservers上,从而保证了数据隔离性。
2)有两个系统内置的预定义命名空间:
  1. hbase:系统命名空间,用于包含hbase的内部表。
  2. default:所有未指定命名空间的表都自动进入该命名空间。

二、HBase的访问控制相关命令

HBase的访问控制相关命令主要包括grant/revoke/user_permission,其中grant表示授权,revoke表示回收权限,user_permission用于查询权限。

1、语法
hbase> grant <user> <permissions> [ @<namespace> [ <table>[ <column family>[ <column qualifier> ] ] ] ]
hbase> revoke <user> <permissions> [ @<namespace> [ <table> [ <column family> [ <column qualifier> ] ] 
hbase> user_permission <table> 
2、实操
#1 给root用户授权全局的CA
grant 'root','RWXCA'

#2 回收root用户全局的CA
revoke 'root','RWXCA'

#3 给root用户namespace权限
grant 'root','RWXCA','@TRAF_1500000'

#4 给root用户table权限
grant 'root','RWXCA','agatha'

#5 查看所有用户权限
user_permission

#6 查看某个表的权限
user_permission 'agatha'

#7 查看某个namespace的权限
user_permission '@TRAF_1500000'

#8 创建namespace
create_namespace 'ns1'

#9 列出所有namespace
list_namespace

#10 查看namespace
describe_namespace 'ns1'

#11 删除namespace
drop_namespace 'ns1'

#12 在namespace下创建表
create 'ns1:testtable', 'cf1','cf2'

#13 查看namespace下的表
list_namespace_tables 'ns1'

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、报错:Grant无权限(acl文件少了)

1、给权限的时候显示Security features are not available

在这里插入图片描述

2、查看master少了个acl表

在这里插入图片描述
在这里插入图片描述

3、在hbase-site.xml里添加以下配置开启授权acl
<property>
   <name>hbase.superuser</name>
   <value>niit01</value>
</property>
<property>
  <name>hbase.coprocessor.region.classes</name>    
  <value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
  <name>hbase.coprocessor.master.classes</name>
  <value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
  <name>hbase.rpc.engine</name>
  <value>org.apache.hadoop.hbase.ipc.SecureRpcEngine</value>
</property>
<property>
   <name>hbase.security.authorization</name>
   <value>true</value>
</property>
4、重启hbase再查就有acl了,然后grant等授权命令也可以了

在这里插入图片描述

### 回答1: lable to the general public yet, but they are currently working on developing advanced AI technologies that will revolutionize various industries. ### 回答2: OpenAI是一家人工智能技术公司,它致力于创建先进的AI技术和应用。然而,最近OpenAI的一些服务不可用,这可能会影响到许多用户和企业。 首先,OpenAI的文本生成模型GPT-3(Generative Pre-trained Transformer 3)由于权力问题而暂时关闭了新用户的接入。GPT-3是一个非常有用的工具,许多企业和研究人员使用它来生成文章、定制化的数据、语言翻译、内容分类等。 此外,OpenAI的其他服务也面临一些问题,例如API调用失败或响应时间过长等问题。这可能会导致浪费时间和资源,因为用户不能使用这些服务来提高自己的业务和研究。 从长远来看,OpenAI服务不可用可能会导致一些企业和研究人员开始转向其他技术公司,因为它们需要快速的解决方案。这可能会影响OpenAI的声誉和业务增长。 最后,OpenAI需要尽快解决这些问题,恢复对用户的支持,保持竞争力。该公司可能需要改善技术基础设施、增加投入资金和组织管理优化等方面来解决这些问题。 ### 回答3: OpenAI是一家人工智能公司,其旗下涵盖了多种人工智能技术和服务。然而,最近据报道,OpenAI的一些服务不可用,具体原因尚未得知。 作为人工智能领域的重要一员,OpenAI拥有丰富的技术和资源,其服务涉及到机器学习、自然语言处理、计算机视觉等多个领域。这些服务的不可用可能会对业内造成一定的影响。 据了解,OpenAI的服务主要提供给合作伙伴和客户使用,其中包括了一些应用程序接口(API)、机器学习模型和数据集等。而这些服务的不可用可能来自于多种原因,例如技术故障、软件升级、网络问题等等。对于这些问题,OpenAI方面可能已经在积极处理中,并且会尽快解决。 无疑,人工智能技术的发展对未来的社会和经济发展具有重要意义。OpenAI作为一家优秀的人工智能公司,在推动技术创新和发展方面一直扮演着重要的角色。虽然当前OpenAI的一些服务不可用,但相信随着技术的发展和成熟,OpenAI的服务也将得以稳定运行,并且带来更多的创新和价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Agatha方艺璇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值