IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Hbase权限访问命令、报错:Grant无权限(acl文件少了) -> 正文阅读

[大数据]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等授权命令也可以了

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 21:03:44  更:2022-09-24 21:07:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:38:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码