HBase的常用Shell命令

HBase的启动方式:

在主节点执行

/usr/local/sbin/ntp_update,启动时间同步服务

执行命令service mysqld start,启动MySQL服务

执行命令zk_cluster start,启动ZooKeeper集群

执行命令/usr/local/sbin/hadoop_cluster start,启动Hadoop集群

执行命令/usr/local/hbase-1.3.6/bin/start-hbase.sh,启动HBase

通过命令

hbase shell

进入hbase命令窗口

注意:在HBase命令窗口中输入命令,如果输入出错,直接使用删除键【delete】是无法删除输入字符的,必须使用【ctrl+delete】组合键才能删除。

 HBase的关闭方式:HBase使用完成后必须关闭,释放相关资源。 

输入【exit】退出命令窗口
在主节点执行命令/usr/local/hbase-1.3.6/bin/stop-hbase.sh,关闭HBase 
执行命令/usr/local/sbin/hadoop_cluster stop,关闭Hadoop集群
执行命令zk_cluster stop,关闭ZooKeeper集群

重点:HBase没有数据库的概念,只有命名空间的概念namespace,相当于库,HBase的表就是组织在命名空间里。

 1、命名空间相关的命令

list_namespace:列举所以命名空间
create_namespace:创建命名空间
describe_namespace:查看指定命名空间配置
list_namespace_tables:列举指定命名空间中的表
alter_namespace:修改命名空间
  alter_namespace 'test', {METHOD => 'set', 'hbase.namespace.quota.maxregion' => '10'}
  alter_namespace 'test', {METHOD => 'set', 'hbase.namespace.quota.maxtables' => '10'}

新建表

创建表时如果没有指明命名空间,则默认该表创建在HBase的默认命名空间‘default’中

create '命名空间:表名','列族名1',… '列族名n'
create '命名空间:表名',{语法参数}

参数

功能

调用示例

NAME

设置列族名

NAME => 'c1' 

VERSIONS

设置最大版本数量

VERSIONS => 1

TTL

设置列族可以设置生存时间(以秒为单位),HBase将在到达到期时间后自动删除该列族

TTL => 1000

BLOCKCACHE

设置读缓存状态

BLOCKCACHE => Ture\False

SPLITS

设置建表region预分区

SPLITS=>['10','20','30','40']

查看表 

desc ‘命名空间:表名’:查看制定表的结构
describe ‘命名空间:表名’:与desc命令相同
list‘命名空间:正则表达式’:查看表名
exists ‘命名空间:表名’:判断制定表是否存在

 修改表

修改(添加)列族(列族存在就是修改,不存在就是添加)
   alter '命名空间:表名',{语法参数}
删除列族
   alter '命名空间:表名',{NAME => 'f1', METHOD => 'delete'}
   alter '命名空间:表名', 'delete' => 'f1' 
修改表属性
  alter ‘命名空间:表名’, MAX_FILESIZE => ‘134217728’(设置表属性)
  alter ‘命名空间:表名’, METHOD => ‘table_att_unset’, NAME => ‘MAX_FILESIZE’(删除表属性)

 删除表

disable '命名空间:表名‘
    重点:表必须首先disabled(禁用),然后才能删除
drop '命名空间:表名'删除表

表数据增加

put '命名空间:表名','行键','列族:列标识符','插入值’ 
put '命名空间:表名','行键','列族:列标识符','插入值',

表数据获取

get '命名空间:表名','行键',{其他参数}

参数

功能

调用示例

COLUMN

设置查询数据的列簇名

get 'Student',r1,{COLUMN=>'c1'/['c1','c2','c3']}

TIMESTAMP

设置查询数据的时间戳

get 'Student',r1,{COLUMN =>'c1',TIMESTAMP => ts1}

TIMERANGE

设置查询数据的时间戳区间

get 'Student',r1,{COLUMN => 'c1',TIMERANGE => [ts1, ts2]}

VERSIONS

设置查询数据的最大版本数

get 'Student',r1,{COLUMN =>'c1',VERSIONS => 4}

FILTER

设置查询数据的过滤条件

get 'Student',r1,{COLUMN => 'c1',FILTER=> "ValueFilter(=,'binary:abc')"}

 表数据扫描

scan '表名',{其他参数}

表数据删除

delete '表名','行键','列簇’(删除指定列族中的数据)
deleteall '表名', '行键'(删除所有列族中的数据)
HBase的删除,只是在数据上加上'delete'标签,数据没有真正删除
2、表数据清空
truncate '表名'(删除表中所有数据,不管原来定义有多少个Region,清空后只保留一个Region)
truncate_preserve '表名'(删除表中所有数据,并且保留原来定义的Region个数)

猜你喜欢

转载自blog.csdn.net/qq_40393201/article/details/131025369