频道栏目
首页 > 资讯 > 其他综合 > 正文

HBase常用的操作命令总结分享

18-07-28        来源:[db:作者]  
收藏   我要投稿

HBase的常用操作命令

1.进入HBase

脚本客户端#hbase shell#进入HBase脚本客户端

> whoami#查看当前登录用户

>状态#查看HBase节点信息

>版本#查看HBase版本

2.查看HBase所有表

> list#查看HBase里面的所有表

> create_namespace'ns'#创建命名空间

> drop_namespace'ns'#删除命名空间

> describe_namespace'ns'#查看命名空间

> list_namespace#列出所有命名空间

>创建'ns :tablename','cf'#在namespace下创建表

> list_namespace_tables'ns'#查看namespace下的表

3.表操作

创建表语法create

,{NAME => ,VERSIONS => }

>创建'tablename','columnfamily'#创建HBase表名和列族

删除表首先禁用,然后drop

>禁用'tablename'

> drop'tablename'

查看表的结构

- 语法:describe>

描述'tablename'

修改表结构首先禁用,然后启用

- 语法:alter't1 ',{NAME =>'f1 '},{NAME =>'f2',METHOD =>'delete'}

>禁用'tablename' - 修改表tablename的cf的TTL为180天

> alter'tablename',{NAME =>'body',TTL >'15552000'},{NAME =>'meta',TTL =>'15552000'}

> enable'表名”

4.增加改查

添加数据

- 语法:put

,,,,

- 例如:给表t1的添加一行记录:rowkey是rowkey1,family name:f1,column name:col1,value:value01,timestamp:系统默认

> put't1','rowkey1','f1:col1','value01'

查询行记录

- 语法:get,,[,....]

- 例如:查询表t1,rowkey1中的f1下的col1的值

> get't1','rowkey1','f1:col1'

扫描表

-语法:scan,{COLUMNS => [,....],LIMIT => num}

- 另外,还可以添加STARTROW,TIMERANGE和FITLER等高级功能

- 例如:扫描表t1的前5条数据

> scan't1',{LIMIT => 5}

查询表中的数据行数

- 语法:count,{INTERVAL => intervalNum,CACHE => cacheNum}

- INTERVAL设置多少行显示一次及对应的rowkey,默认1000; CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度

- 例如,查询表t1中的行数, - 100条显示一次,缓存区为500

> count't1 ',{INTERVAL => 100,CACHE => 500}

删除行中的某个列值

- 语法:delete,,,,必须指定列名

- 例如:删除表t1,rowkey1中的f1:col1的数据

> delete't1','rowkey1','f1:col1'

删除行

- 语法:deleteall < table>,,,,可以不指定列名,删除整行数据

- 例如:删除表t1,rowk001的数据

> deleteall't1','rowkey1'

删除表中的所有数据

- 语法:truncate

- 其具体过程是:disable table - > drop table - > create table

- 例如:删除表t1的所有数据

>截断't1'

5.权限管理

分配权限

- 语法:grant

参数后面用逗号分隔

- 权限用五个字母表示:“RWXCA”。

- READ('R'),WRITE('W'),EXEC('X'),CREATE('C'),ADMIN('A')

- 例如,给用户'test'分配对表t1有读写的权限,

>授权'测试','RW','t1'

查看权限

- 语法:user_permission

- 例如,查看表t1的权限列表

> user_permission't1'

收回权限

- 与分配权限类似,语法:revoke

- 例如,收回test用户在表t1上的权限

> revoke'test ','t1'

> grant'admin''RW''@ ns'#授权admin用户对ns下的写权限

> revoke'admin''@ ns'#回收admin用户对ns的所有权限

6.Region管理

移动区域

- 语法:移动'encodeRegionName','ServerName'

- encodeRegionName指的regioName后面的编码,ServerName指的是主状态的区域服务器列表

>移动'4343995a58be8e5bbc739af1e91cd72d','db-41。 xxx.xxx.org,60020,1390274516739'

开启/关闭区域

- 语法:balance_switch true | false

> balance_switch

手动拆分

- 语法:拆分'regionName','splitKey'

手动触发major compaction

#语法: -

压缩所有区域在表中:

> major_compact't1' -

压缩整个区域:

> major_compact'r1' -

在区域内压缩单个列族:

> major_compact'r1','c1'

- 在表中压缩单个列族:

> major_compact't1','c1'

7.配置管理及节点重启

hdfs配置目录:/ etc / hadoop / conf

#同步hdfs配置

cat / home / hadoop / slaves | xargs -i -t scp /etc/hadoop/conf/hdfs-site.xml hadoop @ { ip}:/ etc / hadoop / conf / hdfs-site.xml

#关闭

cat / home / hadoop / slaves | xargs -i -t ssh hadoop @ {ip}“sudo /data/opt/cloudera/parcels/CDH-5.9 .1-1.cdh5.9.1.p0.4 / lib / hadoop / sbin / hadoop-daemon.sh --config / etc / hadoop / conf stop datanode“

#启动

cat / home / hadoop / slaves | xargs -i - t ssh hadoop @ {ip}“sudo /data/opt/cloudera/parcels/CDH-5.9.1-1.cdh5.9.1.p0.4/lib/hadoop/sbin/hadoop-daemon.sh --config / etc / hadoop / conf start datanode“

修改hbase配置:/ etc / hbase / conf

#同步hbase配置

cat / home / hadoop / hbase / conf / regionservers | xargs -i -t scp /home/hadoop/hbase/conf/hbase-site.xml hadoop @ {ip }:/家庭/ Hadoop的/ HBase的/ conf目录/ HBase的-site.xml中

#hadoop fs -du / hbase#所有regionserver中所有表大小

#hadoop fs -dus / hbase#当前regionserver中所有表大小#count'tablename

',INTERVAL => 10,CACHE => 1000#统计表行数

相关TAG标签
上一篇:数据库下的触发器知识讲解
下一篇:Ubuntu16.0.4系统设置mysql远程访问的操作教程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站