hbase命令梳理
以下命令基于hbase版本:
hbase(main):041:0> version 1.2.0-cdh5.7.1, rUnknown, Wed Jun 1 16:30:06 PDT 2016general
status: 查看hbase狀態
hbase(main):002:0> status 1 active master, 1 backup masters, 4 servers, 0 dead, 0.5000 average loadtable_help:table操作簡單入門
t = create 't','cf' t = get_table 't' t.put 'r1','cf:q','v' t.scan t.disable t.enable t.flush t.disable t.dropwhoami: 查看當前用戶以及分組
hbase(main):252:0* whoami chengguoqiang (auth:SIMPLE)groups: chengguoqiang, wheelddl操作
- list 查看表列表
- create 創建表
- exists 查看表是否存在
- describe / desc 查看表結構
- enable / enable_all / is_enabled table生產可用,判斷是否生產可用
- disable / disable_all / is_disabled 禁用table,判斷是否禁用
- drop / drop_all 刪除table
- get_table 獲取一個實例
- locate_region 返回區域 ,hbase新增命令
- show_filters 暫時沒發現用途
- alter 修改表結構,hbase.online.schema.update.enable參數決定是否可以生產修改
- alter_async 異步修改表結構
創建table時,hbase默認的分配一個region給table,所有的讀寫請求都會訪問regionServer的同一個region中,這個時候就達不到負載均衡的效果了,集群中的其他regionServer就可能會處于比較空閑的狀態。解決這個問題可以用pre-splitting,在創建table的時候就配置好,生成多個region。Hbase自帶了兩種pre-split的算法,分別是 HexStringSplit 和 UniformSplit 。如果我們的row key是十六進制的字符串作為前綴的,就比較適合用HexStringSplit,作為pre-split的算法。例如,我們使用HexHash(prefix)作為row key的前綴,其中Hexhash為最終得到十六進制字符串的hash算法。我們也可以用我們自己的split算法。
create 'profile:test','data',{NUMREGIONS => 4, SPLITALGO => 'HexStringSplit', REGION_REPLICATION => 1}namespace
- list_namespace 命名空間列表
- create_namespace 創建命名空間
- describe_namespace 命名空間描述
- list_namespace_tables 查看指定命名空間下的table
- alter_namespace 修改或者增加命名空間屬性
- drop_namespace 刪除命名空間,必須是空的命名空間
dml
- put 插入一條記錄
- append 如果記錄不存在則put,存在則追加value
- get 獲取一條記錄
- scan 掃描記錄
- count 獲取條數
- delete 刪除rowkey,必須指定column
- deleteall 刪除整個rowkey
- incr 計數器,插入一條記錄,如果存在則加1
- get_counter 返回計數器值
- truncate 清空table
- truncate_preserve 清空table,但保存分區信息
- get_splits 返回分區列表
security
- grant 授權,可以細化到column
- revoke 取消授權
user_permission 查看表開放權限
READ(‘R’), WRITE(‘W’), EXEC(‘X’), CREATE(‘C’), ADMIN(‘A’)
參考文章:
http://www.csdn123.com/html/topnews201408/3/2603.htm
http://hbase.apache.org/book.html#regions.arch
總結
- 上一篇: 对jeecg框架的认识
- 下一篇: 电阻、电容、电感、半导体器件的失效分析!