0%

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

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

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

1
2
3
4
5
6
7
8
<property>
<name>phoenix.schema.isNamespaceMappingEnabled</name>
<value>true</value>
</property>
<property>
<name>phoenix.schema.mapSystemTablesToNamespace</name>
<value>true</value>
</property>

在HBase中namespace相关操作

1
2
3
4
5
6
7
8
9
10
-- 创建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已经开启了授权

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!-- 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>
1
2
3
4
5
-- 对用户 'corp' 赋予 write 权限
-- 权限含有: 读(Read) R / 写(Write) W / 执行(Execute) X / 创建(Create) C / 管理(Admin) A
grant 'corp' 'W' '@CI123'
-- 回收 用户 'corp' 权限
revoke 'corp' 'W' '@CI123'
这是打赏的地方...

本文标题:大数据存储框架之HBase(3) NameSpace/Schema

文章作者:Mr.Sun

发布时间:2019年12月11日 - 09:07:38

最后更新:2020年06月15日 - 10:05:35

原始链接:http://www.blog.sun-iot.xyz/posts/30db2f4d

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

---------Thanks for your attention---------