大数据存储框架之HBase(3) NameSpace/Schema

  • 时间:
  • 来源:互联网

大数据存储框架之HBase(3) NameSpace/Schema
我们都是到HBase里面有工作区间一说,这个工作区间也就相当于我们关系数据库中的数据库,也相当于我们Phoenix中的Schema。这里主要讲Phoenix和HBase的namespace之间的爱恨情仇的故事。

先配置HBase开启与Phoenix的schema之间的转换

        <property>
            <name>phoenix.schema.isNamespaceMappingEnabled</name>
            <value>true</value>
        </property>
        <property>
            <name>phoenix.schema.mapSystemTablesToNamespace</name>
            <value>true</value>
        </property>

在HBase中namespace相关操作

-- 创建namespace
create_namespace 'CI123'  
-- 删除namespace
drop_namespace 'CI123'
-- 查看namespace
list_namespace  
-- 在namespace下创建表
create 'CI123:table_name', 'family1'  
-- 查看namespace下的表
list_namespace_tables 'CI123'  

授权

具备Create权限的namespace Admin可以对表创建和删除、生成和恢复快照
具备Admin权限的namespace Admin可以对表splits或major compactions
首先,我们需要确定一点,就是我们的hbase-site.xml中有如下的配置,保证我们的HBase已经开启了授权

       <!-- HBase开启权限-->
         <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>
      <property>
        <name>hbase.superuser</name>
        <value>corp,root,Smile-Sun,hbase</value>
      </property>
-- 对用户 'corp' 赋予 write 权限
-- 权限含有: 读(Read) R / 写(Write) W / 执行(Execute) X / 创建(Create) C / 管理(Admin) A
grant 'corp' 'W' '@CI123' 
-- 回收 用户 'corp' 权限
revoke 'corp' 'W' '@CI123'
梦阑公子
发布了53 篇原创文章 · 获赞 20 · 访问量 1万+
私信 关注

本文链接http://element-ui.cn/news/show-840.aspx