1、介绍

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

2、namespace

HBase系统默认定义了两个缺省的namespace
  • hbase:系统内建表,包括namespace和meta表
  • default:用户建表时未指定namespace的表都创建在此
创建namespace
[java] view plaincopy
  1. hbase>create_namespace 'ai_ns'
删除namespace
[java] view plaincopy
  1. hbase>drop_namespace 'ai_ns'
查看namespace
[java] view plaincopy
  1. hbase>describe_namespace 'ai_ns'
列出所有namespace
[java] view plaincopy
  1. hbase>list_namespace
在namespace下创建表
[java] view plaincopy
  1. hbase>create 'ai_ns:testtable', 'fm1'
查看namespace下的表
[java] view plaincopy
  1. hbase>list_namespace_tables 'ai_ns'

3、授权

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

授权tenant-A用户对ai_ns下的写权限

[ruby] view plaincopy
  1. hbase>grant 'tenant-A' 'W' '@ai_ns'
回收tenant-A用户对ai_ns的所有权限
[ruby] view plaincopy
  1. hbase>revoke 'tenant-A''@ai_ns'

当前用户:hbase

[java] view plaincopy
  1. hbase>namespace_create 'hbase_perf'
  2. hbase>grant 'mike', 'W', '@hbase_perf'
当前用户:mike
[java] view plaincopy
  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
[ruby] view plaincopy
  1. hbase>grant 'alice', 'W', '@hbase_perf'

此时alice可以在hbase_perf下创建表,但是无法读、写、修改和删除hbase_perf下已存在的表

当前用户:alice
[ruby] view plaincopy
  1. hbase>scan 'hbase_perf:table20'

报错AccessDeniedException

如果希望alice可以访问已经存在的表,则hbase管理员操作如下
当前用户:hbase
[java] view plaincopy
  1. hbase>grant 'alice', 'RW', 'hbase_perf.table20'
  2. hbase>grant 'alice', 'RW', 'hbase_perf.table50'
在HBase中启用授权机制
hbase-site.xml
[html] view plaincopy
  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集群

授权相关JIRA
HBASE-8409
HBASE-9206

4、总结

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

HBase常用操作之namespace相关推荐

  1. Hbase常用操作记录

    Hbase常用操作记录 Hbase 创建表 查看表结构 修改表结构 删除表 创建表 语法:create <table>, {NAME => <family>, VERSI ...

  2. HBase 常用操作

    hbase只支持行级事务,不支持多行事务. 进入shell:hbase shell: 配置完分布式zk后: 单启Hmaster:hbase-daemon.sh start master HFile默认 ...

  3. Hbase常用操作(增删改查)

    运行Eclipse,创建一个新的Java工程"HBaseClient",右键项目根目录,选择 "Properties"->"Java Build ...

  4. HBase常用操作备忘

    2019独角兽企业重金招聘Python工程师标准>>> Java-put数据 HTableInterface table = null; try {table = hConnecti ...

  5. HBase Shell 常用操作

    HBase Shell 常用操作 2015年3月10日 by debugo · 19 Comments 本文转自http://debugo.com/hbase-shell-cmds/,感谢作者 HBa ...

  6. HBase常用Shell与JavaAPI操作

    HBase常用Shell与JavaAPI操作 1.常用shell 2.JavaAPI操作 2.1.HBaseAdmin类 2.2.HBaseConfiguration类 2.3.HTableDescr ...

  7. hbase 常用命令行操作总结

    前言 本篇针对hbase常用客户端操作命令,做一下总结,方便后续运营过程中使用: 1.查看帮助命令 help的命令展示出了常用的操作命令以及格式,通过这个命令可以快速定位到需要查询的命令: help ...

  8. Hive 与 Hbase表映射(内部表与外部表),Hbase常用命令

    应用场景 1.将ETL操作的数据存入HBase 2.Hbase作为Hive的数据源 构建低延迟的数据仓库 Hive表映射至Hbase Hbase上有表 -> 外部表 创建Hive表映射HBase ...

  9. phoenix的元数据一般存在哪里_Phoenix常用操作记录-阿里云开发者社区

    Apache Phoenix 常用操作 基础知识 1****.****Phoenix 主要技术点 a.将SQL转化为HBase Scan,将结果封装为JDBC Result Set. b.表的元数据保 ...

最新文章

  1. 黑暗的富士康服务器被黑厂商用户名密码被泄
  2. 开发一个简单的工具,导出github仓库所有issue列表
  3. php加密数据库工具,各位用php将密码存入数据库,都用什么方法进行加密的?
  4. Unity3D面试题汇总
  5. jsp乔丹AJ购物网站网上鞋店黑色ssh
  6. java debug怎么用_debug怎么用
  7. 八大主流浏览器自动填表功能大比拼
  8. SMART PLC PID仿真 (SMART PID仿真库使用说明)
  9. JAVA中什么 和 什么的区别--面试最经常问的(全)
  10. matlab选址问题——分级选址定容
  11. 谷歌浏览器:快速切换搜索引擎
  12. 性能测试从入门到高级进阶之路(二):小白教程influxdb+grafana+jmeter性能监控平台
  13. 阿里自研UED计件平台技术解析
  14. Caffe 作者贾扬清:我为什么离开 Google,加入 Facebook?
  15. polygon NFT开发教程
  16. winform水晶报表中添加图片
  17. JavaScript相关笔记及案例
  18. 卡尔曼滤波:高斯过程 + 贝叶斯推断
  19. java变态跳台阶(思路与实现)
  20. 什么是SQL执行计划

热门文章

  1. linux开机磁盘检查启动慢,Ubuntu 7.10开机启动慢的完美解决
  2. python编写购物程序_Python实现购物程序思路及代码
  3. mysql 主从复制 有数据库_mysql 数据库一对一主从(master-slave)复制
  4. 科大讯飞ai研究院_科大讯飞1024开发者大会:让AI赋能行业数字化升级
  5. c语言srand函数怎么用_C语言的main函数到底该怎么写
  6. 计算机二级二叉树基础知识,2017年计算机二级公共基础知识学习教程:树与二叉树...
  7. centos7 django mysql_CentOS7操作系统下快速安装MySQL5.7
  8. 云服务器登陆修改文件,香港云服务器使用注意事项(windows版)
  9. matlab 高斯函数_光学与matlab:高斯光的模拟
  10. IPhone鸿蒙系统,iPhone 13外观再次确认,鸿蒙系统也将临世,神仙又打架