HBase原生Shell命令汇总
 1. General组    5
 1.1. 查看集群状态:status    5
 1.2. 查看表的操作方法:table_help    5
 1.3. 查看HBase的版本信息:version    5
 1.4. 查看当前用户:whoami    5
 2. Namespace组    5
 2.1. 创建命名空间:create_namespace    5
 2.2. 显示命名空间列表:list_namespace    5
 2.3. 修改/删除命名空间属性:alter_namespace    5
 2.4. 描述指定命名空间:describe_namespace    6
 2.5. 显示命名空间下的表:list_namespace_tables    6
 2.6. 删除命名空间:drop_namespace    6
 3. DDL组    6
 3.1. 创建表:create    6
 3.2. 创建表的引用:get_table    6
 3.3. 修改表的属性:alter    7
 3.4. 改变列族模式:alter_async    7
 3.5. 查看alter命令执行状态:alter_status    7
 3.6. 描述指定表:describe    7
 3.7. 禁用指定表:disable    8
 3.8. 禁用与正则表达式匹配的表:disable_all    8
 3.9. 启用指定表:enable    8
 3.10. 启用与正则表达式匹配的表:enable_all    8
 3.11. 判断表是否禁用:is_disabled    8
 3.12. 判断表是否启用:is_enabled    8
 3.13. 删除指定表:drop    8
 3.14. 删除与正则表达式匹配的表:drop_all    8
 3.15. 判断表是否存在:exists    9
 3.16. 显示Table列表:list    9
 3.17. 显示过滤器列表:show_filters    9
 4. DML组    9
 4.1. 计算表行数:count    9
 4.2. 删除指定单元格:delete    9
 4.3. 删除指定行的单元格:deleteall    10
 4.4. 查看单元格内容:get    10
 4.5. 扫描表:scan    10
 4.6. 插入单元格数据:put    11
 4.7. 生成递增单元格:incr    12
 4.8. 查看递增单元格的值:get_counter    12
 4.9. 重构表:truncate    12
 4.10. 重构表(保留region边界):truncate_preserve    12
 4.11. 单元格附加值:append    12
 5. TOOL组    12
 5.1. 分配region:assign    12
 5.2. 取消分配region:unassign    13
 5.3. 关闭指定region:close_region    13
 5.4. 移动指定region:move    13
 5.5. 查询均衡器状态:balancer_enabled    13
 5.6. 开启/关闭均衡器:balance_switch    13
 5.7. 触发集群负载均衡:balancer    13
 5.8. 压缩表或region:compact    14
 5.9. 深度压缩表或region:major_compact    14
 5.10. 压缩指定RegionServer上所有region:compact_rs    14
 5.11. 刷写指定region或表    14
 5.12. 合并两个指定region:merge_region    14
 5.13. 触发region标准化:normalize    15
 5.14. 查看标准化器状态:normalizer_enabled    15
 5.15. 打开/关闭region标准化程序:normalizer_switch    15
 5.16. 拆分表或region:split    15
 5.17. 查询switch状态:splitormerge_enabled    15
 5.18. 启动/关闭switch:splitormerge_switch    15
 5.19. 启动/停止文件追踪:trace    15
 5.20. 查询集群转储状态:zk_dump    16
 5.21. 滚动日志编写器:wal_rol    16
 5.22. 查看CatalogJanitor状态:catalogjanitor_enabled    16
 5.23. 启用/禁用CatalogJanitor:catalogjanitor_switch    16
 5.24. 运行垃圾回收扫描:CatalogJanitor_run    16
 6. Snapshot组    16
 6.1. 创建快照:snapshot    16
 6.2. 恢复快照:restore_snapshot    16
 6.3. 显示快照列表:list_snapshot    16
 6.4. 克隆快照创建表:clone_snapshot    16
 6.5. 删除快照:delete_snapshot    16
 6.6. 删除与正则表达式匹配的快照:delete_all_snapshot    17
 7. Configuration组    17
 7.1. 重新加载所有配置:update_all_config    17
 7.2. 重新加载配置:update_config    17
 8. Quotas组    17
 8.1. 列出配额设置:list_quotas    17
 8.2. 设置配额:set_quota    17
 9. Security组    17
 9.1. 分配权限:grant    17
 9.2. 列出安全功能:list_security_capabilities    18
 9.3. 撤销权限:revoke    18
 9.4. 查询指定用户权限:user_permission    18
 10. Procedures组    18
 10.1. 中止进程:abort_procedure    18
 10.2. 列出进程列表:list_procedures    18
 11. Visibility Labels组    19
 11.1. 添加可见性标签:add_labels    19
 11.2. 为用户或组添加可见性标签:set_auths    19
 11.3. 清除用户或组的可见性标签:clear_auths    19
 11.4. 获取用户或组的可见性标签:get_auths    19
 11.5. 列出可见性标签:list_auths    19
 11.6. 设置可见性标签:set_visibility    19
 12. Replication组    19
 12.1. 添加集群对等体:add_peer    19
 12.2. 添加配置:append_peer_tableCFs    20
 12.3. 禁用对等体:disable_peer    20
 12.4. 启用对等体:enable_peer    20
 12.5. 禁用表的复制:disable_table_replication    20
 12.6. 启用表的复制:enable_table_replication    20
 12.7. 查询对等体配置:get_peer_configs    21
 12.8. 列出对等体配置:list_peer_configs    21
 12.9. 列出所有对等集群:list_peers    21
 12.10. 列出被复制表和列族:list_replicated_tables    21
 12.11. 删除对等集群:remove_peer    21
 12.12. 删除对等体中的表或列族:remove_peer_tableCFs    21
 12.13. 设置table-cf配置:set_peer_tableCFs    21
 12.14. 显示table-cf配置:show_peer_tableCFs    21
  
 1. General组
 
1.1. 查看集群状态:status
 显示群集状态。可以是“摘要”、“简单”、“详细”或“复制”,默认为“摘要”。参数分别是“summary”、“simple”、“detailed”和“replication”。该命令用法如下:
 hbase> status
 hbase> status 'simple'
 hbase> status 'summary'
 hbase>c status 'detailed'
 hbase> status 'replication'
 hbase> status 'replication', 'source'
 hbase> status 'replication', 'sink'
 1.2. 查看表的操作方法:table_help
 
 用户可以用过“create”创建表,然后通过“put”、“get”、“scan”等命令来操作表。创建、删除、操作表的详细内容在后面的内容中进行详细介绍。用法如下:
 hbase> table_help
1.3. 查看HBase的版本信息:version
 使用该命令可以输出HBase的版本信息。用法如下:
 hbase> version
 1.4. 查看当前用户:whoami
 使用该命令可以查看当前用户。用法如下:
 Hbase> whoami
 2. Namespace组
 
一个集群中可以创建若干名称空间,用户可以在不同通名称空间下创建表,以方便表的管理。
 2.1. 创建命名空间:create_namespace
 用户可以通过自定义命名空间名作为第一个参数来创建新的命名空间,在创建命名空间的同时能够可选的在第二个参数位置自定义命名空间的“属性-值”键值对。用法如下:
 hbase> create_namespace '命名空间名'
 hbase> create_namespace '命名空间名', {'自定义属性名'=>'自定义属性值'}
 2.2. 显示命名空间列表:list_namespace
 该命令用于列出HBase中所有的命名空间,可以可选的在第一个参数位置输入正则表达式来对列出的结果进行筛选。用法如下:
 hbase> list_namespace
 hbase> list_namespace '正则表达式'
 2.3. 修改/删除命名空间属性:alter_namespace
 该命令可以用来添加、修改和删除命名空间属性,可以同时添加、修改或删除命名空间的多个属性。用法如下:
 添加或修改命名空间属性:
 hbase> alter_namespace '命名空间名', {METHOD => 'set', '属性名' => '属性值'}
 删除命名空间属性:
 hbase> alter_namespace '命名空间名', {METHOD => 'unset', NAME => '属性名'}
 2.4. 描述指定命名空间:describe_namespace
 描述命名空间,返回内容包括命名空间的名字、属性等。用法如下:
 hbase> describe_namespace '命名空间名'
 2.5. 显示命名空间下的表:list_namespace_tables
 显示指定指定命名空间下的所有表的列表。用法如下:
 hbase> list_namespace_tables '命名空间名'
 2.6. 删除命名空间:drop_namespace
 删除指定的命名空间。需要注意的是,只有空的命名空间是可以删除的,因此在删除命名空间之前,必须保证该命名空间下的表均已删除。用法如下:
 hbase>drop_namespace '命名空间名'
 2.7. 删除指定表的快照:delete_table_snapshots
 删除指定表指定表的快照,快照名的正则表达式是可选的。当不提供快名的正则表达式时,将删除与指定表或者指定表的正则表达式匹配的所有表的所有快照。当指定快照明时,将删除所有指定表的指定快照明相匹配的所有快照。
 hbase> delete_table_snapshots 'tableName'
 hbase> delete_table_snapshots 'tableName.*'
 hbase> delete_table_snapshots 'tableName', 'snapshotName'
 hbase> delete_table_snapshots 'tableName', 'snapshotName.*'
 hbase> delete_table_snapshots 'tableName.*', 'snapshotName.*'
 hbase> delete_table_snapshots 'ns:tableName.*', 'snapshotName.*'
 2.8. 列出指定表的快照:list_table_snapshots
 列出指定表的快照。用法与delete_table_snapshots相同。
 hbase> list_table_snapshots 'tableName'
 hbase> list_table_snapshots 'tableName.*'
 hbase> list_table_snapshots 'tableName', 'snapshotName'
 hbase> list_table_snapshots 'tableName', 'snapshotName.*'
 hbase> list_table_snapshots 'tableName.*', 'snapshotName.*'
 hbase> list_table_snapshots 'ns:tableName.*', 'snapshotName.*'
 3. DDL组
3.1. 创建表:create
 用户可以通过create命令在命名空间下创建表,如果不指定命名空间,该表将被创建在名为default的命名空间下。该命令需要传递表名及列规范(至少一个),以及可选的表配置。列表规范可以是简单的字符串(列族名),也可以是dictionary(字典中必须包含NAME属性)。用法如下:
 通过表名和列族名创建表:
 hbase> create '[命名空间名:]表名', {NAME => '列族名1'}, {NAME => '列族名2'}, {NAME => '列族名3'}
 hbase> create '[命名空间名:]表名', '列族名1', '列族名2', '列族名3'
 创建表时为列族设置属性:
 hbase> create '表名',{NAME => '列族名', VERSIONS=>5}
 hbase> create '表名',{NAME => '列族名', VERSIONS=>1,TTL=>2592000, BLOCKCACHE => true}
 hbase> create '表名',{NAME => '列族名', CONFIGURATION=>{'hbase.hstore.blockingStoreFiles'=>'10'}}
 hbase> create '表名',{NAME => '列族名',VERSIONS => 5},METADATA=>{ 'mykey' => 'myvalue' }
 hbase> create '表名
