• HBase经常使用操作之namespace


    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
    hbase>create_namespace 'ai_ns'
    删除namespace
    hbase>drop_namespace 'ai_ns'
    查看namespace
    hbase>describe_namespace 'ai_ns'
    列出全部namespace
    hbase>list_namespace
    在namespace下创建表
    hbase>create 'ai_ns:testtable', 'fm1'
    查看namespace下的表
    hbase>list_namespace_tables 'ai_ns'

    3、授权

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

    授权tenant-A用户对ai_ns下的写权限
    hbase>grant 'tenant-A' 'W' '@ai_ns'
    
    
    回收tenant-A用户对ai_ns的全部权限
    hbase>revoke 'tenant-A''@ai_ns'
    
    当前用户:hbase
    hbase>namespace_create 'hbase_perf'
    hbase>grant 'mike', 'W', '@hbase_perf'
    当前用户:mike
    hbase>create 'hbase_perf.table20', 'family1'
    hbase>create 'hbase_perf.table50', 'family1'
    
    mike创建了两张表table20和table50,同一时候成为这两张表的owner。意味着有'RWXCA'权限
    此时,mike团队的还有一名成员alice也须要获得hbase_perf下的权限,hbase管理员操作例如以下
    当前用户:hbase
    hbase>grant 'alice', 'W', '@hbase_perf'
    
    此时alice能够在hbase_perf下创建表,可是无法读、写、改动和删除hbase_perf下已存在的表
    当前用户:alice
    hbase>scan 'hbase_perf:table20'
    
    报错AccessDeniedException
    假设希望alice能够訪问已经存在的表,则hbase管理员操作例如以下
    当前用户:hbase
    hbase>grant 'alice', 'RW', 'hbase_perf.table20'
    hbase>grant 'alice', 'RW', 'hbase_perf.table50'

    
    
    在HBase中启用授权机制
    hbase-site.xml
    <property>
         <name>hbase.security.authorization</name>
         <value>true</value>
    </property>
    <property>
         <name>hbase.coprocessor.master.classes</name>
         <value>org.apache.hadoop.hbase.security.access.AccessController</value>
    </property>
    <property>
         <name>hbase.coprocessor.region.classes</name>
         <value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController</value>
    </property>
    配置完毕后须要重新启动HBase集群


    授权相关JIRA

    4、总结

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

  • 相关阅读:
    财务报表分析(张新民教授)-第五章 企业报表战略分析(1):资源配置战略(续)
    财务报表分析(张新民教授)-第五章 企业报表战略分析(1):资源配置战略
    财务报表分析(张新民教授)-第四章 企业经营活动与财务报表的关系
    以商品为生25:交易商品价差
    以商品为生22:页岩油与水力压裂的优缺点
    以商品为生17:石油价格历史——自1974年以来的高点和低点
    以商品为生15:商品交易中的Backwardation和Contango
    以商品为生14:大宗商品投资者的大豆交易指南
    以商品为生11:来自USDA的月度WASDE报告
    AJAX 跨域请求
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5085830.html
Copyright © 2020-2023  润新知