我们都是到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
| create_namespace 'CI123'
drop_namespace 'CI123'
list_namespace
create 'CI123:table_name', 'family1'
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
| <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
|
grant 'corp' 'W' '@CI123'
revoke 'corp' 'W' '@CI123'
|