hbase命令梳理
来源:互联网 发布:网络伤感情歌2016 编辑:程序博客网 时间:2024/09/21 09:24
以下命令基于hbase版本:
hbase(main):041:0> version1.2.0-cdh5.7.1, rUnknown, Wed Jun 1 16:30:06 PDT 2016
general
status: 查看hbase状态
hbase(main):002:0> status1 active master, 1 backup masters, 4 servers, 0 dead, 0.5000 average load
table_help:table操作简单入门
t = create 't','cf' t = get_table 't't.put 'r1','cf:q','v't.scant.disablet.enablet.flusht.disablet.drop
whoami: 查看当前用户以及分组
hbase(main):252:0* whoamichengguoqiang (auth:SIMPLE) groups: chengguoqiang, wheel
ddl操作
- 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 异步修改表结构
hbase(main):088:0* exists 't'hbase(main):089:0> desc 't'hbase(main):090:0> alter 't',{NAME=>'cf', VERSIONS=>'5'}, {NAME=>'cf1', VERSIONS=>'3', COMPRESSION=>'GZ',TTL=>'86400',IN_MEMORY=>'true'}hbase(main):092:0> alter_status 't'
创建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 删除命名空间,必须是空的命名空间
hbase(main):028:0> create_namespace 'profile'hbase(main):029:0> list_namespace 'profile'hbase(main):036:0* alter_namespace 'profile',{METHOD=>'set', 'TEST_PROPERTY'=>'TEST_VALUE'}hbase(main):030:0> describe_namespace 'profile'
dml
- put 插入一条记录
- append 如果记录不存在则put,存在则追加value
- get 获取一条记录
- scan 扫描记录
- count 获取条数
- delete 删除rowkey,必须指定column
- deleteall 删除整个rowkey
- incr 计数器,插入一条记录,如果存在则加1
- get_counter 返回计数器值
- truncate 清空table
- truncate_preserve 清空table,但保存分区信息
- get_splits 返回分区列表
hbase(main):005:0> put 't','r1','cf1:q1','v1',{ATTRIBUTES=>{'att1'=>'val1'}}hbase(main):006:0> scan 't'hbase(main):007:0> get 't','r1',{COLUMN => 'cf1'}hbase(main):042:0* put 't','r2','cf1:q2','v2',{ATTRIBUTES=>{'att1'=>'val1'}}hbase(main):043:0> put 't','r3','cf1:q2','v3',{ATTRIBUTES=>{'att1'=>'val1'}}hbase(main):044:0> put 't','r5','cf1:q5','v5',{ATTRIBUTES=>{'att1'=>'val1'}}`hbase(main):045:0> put 't','r11','cf1:q11','v11',{ATTRIBUTES=>{'att1'=>'val1'}}hbase(main):046:0> put 't','r8','cf1:q8','v8',{ATTRIBUTES=>{'att1'=>'val1'}}scan 't',{COLUMN=>'cf1',LIMIT=>5, STARTROW=>'r2', ENDROW=>'r5'}hbase(main):059:0* delete 't','r5','cf1:q5'hbase(main):076:0* count 't'hbase(main):051:0> incr 't','r2','cf1:q5'hbase(main):053:0> get_counter 't','r2','cf1:q5'hbase(main):105:0> create 'profile:t1','cf1',{SPLITS=>['a','b','c']}hbase(main):105:0> get_split 'profile:t1'
security
- grant 授权,可以细化到column
- revoke 取消授权
user_permission 查看表开放权限
READ(‘R’), WRITE(‘W’), EXEC(‘X’), CREATE(‘C’), ADMIN(‘A’)
// Syntax : grant <user> <permissions> [<@namespace> [<table> [<column family> [<column qualifier>]]]grant 'chengguoqiang','RW', 'profile:yingyun'// Syntax : user_permission <table>user_permission 'profile:yingyun'// Syntax : revoke <user> [<table> [<column family> [<column qualifier>]]revoke 'chengguoqiang','profile:yingyun'
参考文章:
http://www.csdn123.com/html/topnews201408/3/2603.htm
http://hbase.apache.org/book.html#regions.arch
1 0
- hbase命令梳理
- hbase 学习梳理
- hbase 学习梳理
- hbase 学习梳理
- hbase 学习梳理
- hbase 学习梳理
- hbase学习几点梳理
- Hbase知识梳理和整合
- grep命令梳理
- grep命令梳理
- GIT 命令梳理
- Android adb 命令梳理
- Shell命令梳理
- hbase 命令
- HBase命令
- hbase 命令
- hbase命令
- hbase命令
- gulp的使用2
- JAVA复制文件最快速的方法:用文件通道的方式来进行文件复制
- 使用Json时,由于缺少jar包导致可能出现的所有异常的总结
- Gradle 调用java
- HDOJ 5204 Rikka with sequence
- hbase命令梳理
- dedecms 文章按权重排序问题
- java 使用comet4j向客户端主动推送例子
- Java 基础
- 2016年高考分数线哪个省最最最高最最最低-竟然是它???
- android ndk编译jni的配置
- 【Android---项目中】TextView设置字体样式及粗细
- MFC-窗口-显示状态设置的三种方法
- java文件打成jar包的方法