HBase Shell命令总结, 便于查阅
表名ns:table1
中冒号前面的就是namespace
, 它可以在逻辑上隔离数据, 也可以对不同的namespace
进行不同授权
HBase系统默认定义了两个缺省的namespace
hbase
: 系统命名空间, 用于包含hbase的内部表, 包括namespace和meta表default
: 用户建表时未指定namespace的表都创建在此下面是对于namespace
的一些操作
create_namespace 'ns'
drop_namespace 'ns'
list_namespace
describe_namespace 'ns'
list_namespace_tables 'ns'
create 'ns:testtable', 'fm1'
alter_namespace 'ns', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}
具备Create权限的namespace Admin可以对表创建和删除、生成和恢复快照
具备Admin权限的namespace Admin可以对表splits或major compactions
RWXCA
userA
用户对test_ns
的写权限: grant 'userA' 'W' '@test_ns'
userA
用户对test_ns
的所有权限: revoke 'userA''@test_ns'
通过hbase-site.xml
在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>
在hbase shell中直接敲命令会给出说明,并有很多例子, 一看就知道怎么用了
shell 命令 | 描述 |
---|---|
list | 查看所有表 |
describe | 描述表 |
count | 统计表中行数 |
create | 创建表 |
alter | 修改列族模式 |
drop | 删除表 |
exists | 测试表是否存在 |
disable | 使表无效 |
enable | 使表有效 |
put | 插入数据 |
incr | 增加表、行或列的值 |
get | 查看数据 |
scan | 查看批量数据 |
delete | 删除表行列对应的值 |
deleteall | 删除指定行的所有元素 |
shutdown | 关闭HBase集群(不同于exit) |
truncate | 重新创建指定表 |
tools | 列出HBase支持的工具 |
status | 返回HBase集群状态 |
version | 查看hbase版本 |
exit | 推出HBase shell |