获取 HBase 表所有者的命令
Posted
技术标签:
【中文标题】获取 HBase 表所有者的命令【英文标题】:Command to get HBase table owner 【发布时间】:2016-06-08 06:47:37 【问题描述】:有没有命令可以获取hbase表的完整描述,比如所有者、数据库、修改时间等。
在 hive 中,我可以使用
获取这些信息desc formatted tablename
但在hbase中desc 'tablename'
显示大小、版本、replication_scope等
我想获取 hbase 表的所有者详细信息。
谢谢。
【问题讨论】:
你试过desc extended tablename
获取异常“未定义的方法扩展”
你用的hbase是什么版本的?我可以让所有者通过 hbase 1.2.0 运行“desc tablename”
我使用的是 1.1.3 版本。 1.2.0 发布稳定版了吗?
@Kumar 是的,你甚至可以下载mirrors.cnnic.cn/apache/hbase/1.2.1,我实际上使用的是cloudera 版本archive.cloudera.com/cdh5/cdh/5/hbase-1.2.0-cdh5.7.0.tar.gz。也许您应该确保在您的服务器端添加访问控制相关的配置。
【参考方案1】:
首先在hbase-site.xml中添加access control
相关配置:
<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>
你可以按照here的说明进行操作,修改后可能需要重启hbase。
然后,设置一张表的所有者,并描述它
hbase(main):007:0> alter 'MyTable', OWNER => 'sel-fish'
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 1.9980 seconds
hbase(main):008:0> desc 'MyTable'
Table MyTable is ENABLED
MyTable, TABLE_ATTRIBUTES => METADATA => 'OWNER' => 'sel-fish'
COLUMN FAMILIES DESCRIPTION
NAME => 'cf', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', COMPRESSION => 'NONE', VERSIONS => '2147483647', TTL => '500 SECONDS (8 MINUTES 20 SECO
NDS)', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'
1 row(s) in 0.0300 seconds
【讨论】:
以上是关于获取 HBase 表所有者的命令的主要内容,如果未能解决你的问题,请参考以下文章