HBase shell 命令。
HBase shell 命令。
- 进入hbase shell console
$HBASE_HOME/bin/hbase shell
如果有kerberos认证,需要事先使用相应的keytab进行一下认证(使用kinit命令),认证成功之后再使用hbase shell进入可以使用whoami命令可查看当前用户hbase(main)>
whoami
- 表的管理
1)查看有哪些表hbase(main)> list
2)创建表
# 语法:create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}
# 例如:创建表t1,有两个family name:f1,f2,且版本数均为2
hbase(main)> create
't1'
,{NAME =>
'f1'
, VERSIONS => 2},{NAME =>
'f2'
, VERSIONS => 2}
3)删除表
分两步:首先disable,然后drop
例如:删除表t1hbase(main)> disable
't1'
hbase(main)> drop
't1'
4)查看表的结构
# 语法:describe <table>
# 例如:查看表t1的结构
hbase(main)> describe
't1'
5)修改表结构
修改表结构必须先disable# 语法:alter 't1', {NAME => 'f1'}, {NAME => 'f2', METHOD => 'delete'}
# 例如:修改表test1的cf的TTL为180天
hbase(main)> disable
'test1'
hbase(main)> alter
'test1'
,{NAME=>
'body'
,TTL=>
'15552000'
},{NAME=>
'meta'
, TTL=>
'15552000'
}
hbase(main)>
enable
'test1'
- 权限管理
1)分配权限# 语法 : grant <user> <permissions> <table> <column family> <column qualifier> 参数后面用逗号分隔
# 权限用五个字母表示: "RWXCA".
# READ('R'), WRITE('W'), EXEC('X'), CREATE('C'), ADMIN('A')
# 例如,给用户‘test'分配对表t1有读写的权限,
hbase(main)> grant
'test'
,
'RW'
,
't1'
2)查看权限
# 语法:user_permission <table>
# 例如,查看表t1的权限列表
hbase(main)> user_permission
't1'
3)收回权限
# 与分配权限类似,语法:revoke <user> <table> <column family> <column qualifier>
# 例如,收回test用户在表t1上的权限
hbase(main)> revoke
'test'
,
't1'
- 表数据的增删改查
1)添加数据# 语法:put <table>,<rowkey>,<family:column>,<value>,<timestamp>
# 例如:给表t1的添加一行记录:rowkey是rowkey001,family name:f1,column name:col1,value:value01,timestamp:系统默认
hbase(main)> put
't1'
,
'rowkey001'
,
'f1:col1'
,
'value01'
用法比较单一。
2)查询数据
a)查询某行记录# 语法:get <table>,<rowkey>,[<family:column>,....]
# 例如:查询表t1,rowkey001中的f1下的col1的值
hbase(main)> get
't1'
,
'rowkey001'
,
'f1:col1'
# 或者:
hbase(main)> get
't1'
,
'rowkey001'
, {COLUMN=>
'f1:col1'
}
# 查询表t1,rowke002中的f1下的所有列值
hbase(main)> get
't1'
,
'rowkey001'
b)扫描表
# 语法:scan <table>, {COLUMNS => [ <family:column>,.... ], LIMIT => num}
# 另外,还可以添加STARTROW、TIMERANGE和FITLER等高级功能
# 例如:扫描表t1的前5条数据
hbase(main)> scan
't1'
,{LIMIT=>5}
c)查询表中的数据行数
# 语法:count <table>, {INTERVAL => intervalNum, CACHE => cacheNum}
# INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度
# 例如,查询表t1中的行数,每100条显示一次,缓存区为500
hbase(main)> count
't1'
, {INTERVAL => 100, CACHE => 500}
3)删除数据
a )删除行中的某个列值# 语法:delete <table>, <rowkey>, <family:column> , <timestamp>,必须指定列名
# 例如:删除表t1,rowkey001中的f1:col1的数据
hbase(main)> delete
't1'
,
'rowkey001'
,
'f1:col1'
注:将删除改行f1:col1列所有版本的数据
b )删除行# 语法:deleteall <table>, <rowkey>, <family:column> , <timestamp>,可以不指定列名,删除整行数据
# 例如:删除表t1,rowk001的数据
hbase(main)> deleteall
't1'
,
'rowkey001'
c)删除表中的所有数据
# 语法: truncate <table>
# 其具体过程是:disable table -> drop table -> create table
# 例如:删除表t1的所有数据
hbase(main)> truncate
't1'
- Region管理
1)移动region# 语法:move 'encodeRegionName', 'ServerName'
# encodeRegionName指的regioName后面的编码,ServerName指的是master-status的Region Servers列表
# 示例
hbase(main)>move
'4343995a58be8e5bbc739af1e91cd72d'
,
'db-41.xxx.xxx.org,60020,1390274516739'
2)开启/关闭region
# 语法:balance_switch true|false
hbase(main)> balance_switch
3)手动split
# 语法:split 'regionName', 'splitKey'
4)手动触发major compaction
#语法:
#Compact all regions in a table:
#hbase> major_compact 't1'
#Compact an entire region:
#hbase> major_compact 'r1'
#Compact a single column family within a region:
#hbase> major_compact 'r1', 'c1'
#Compact a single column family within a table:
#hbase> major_compact 't1', 'c1'
- 配置管理及节点重启
1)修改hdfs配置
hdfs配置位置:/etc/hadoop/conf# 同步hdfs配置
cat
/home/hadoop/slaves
|
xargs
-i -t
scp
/etc/hadoop/conf/hdfs-site
.xml hadoop@{}:
/etc/hadoop/conf/hdfs-site
.xml
#关闭:
cat
/home/hadoop/slaves
|
xargs
-i -t
ssh
hadoop@{}
"sudo /home/hadoop/cdh4/hadoop-2.0.0-cdh4.2.1/sbin/hadoop-daemon.sh --config /etc/hadoop/conf stop datanode"
#启动:
cat
/home/hadoop/slaves
|
xargs
-i -t
ssh
hadoop@{}
"sudo /home/hadoop/cdh4/hadoop-2.0.0-cdh4.2.1/sbin/hadoop-daemon.sh --config /etc/hadoop/conf start datanode"
2)修改hbase配置
hbase配置位置:# 同步hbase配置
cat
/home/hadoop/hbase/conf/regionservers
|
xargs
-i -t
scp
/home/hadoop/hbase/conf/hbase-site
.xml hadoop@{}:
/home/hadoop/hbase/conf/hbase-site
.xml
# graceful重启
cd
~
/hbase
bin
/graceful_stop
.sh --restart --reload --debug inspurXXX.xxx.xxx.org
HBase shell 命令。的更多相关文章
- Hbase Shell命令
1 启动HBase shell 2 HBase shell 命令 3 我们将以“一个学生成绩表”的例子来详细介绍常用的 HBase 命令及其使用方法. 这里 grad 对于表来说是一个列,course ...
- HBase shell 命令介绍
HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况.安装完HBase之后,如果配置了HBase的环境变量,只要在sh ...
- HBASE SHELL 命令使用
HBASE SHELL命令的使用 在hbase shell客户端有许多的操作命令,今天回顾并且总结一二,希望和广大读者共同进步,并且悉心聆听你们的意见.在此的hbase版本是:HBase 1.2.0- ...
- 第六章 hbase shell 命令
hbase shell命令 描述 alter 修改列族(Column Family)模式 count 统计表中行的数量 create 创建表 ...
- 使用HBase Shell命令
使用HBase Shell命令 或 使用HBase Java API完成: 列出HBase所有的表的相关信息,例如表名: 在终端打印出指定的表的所有记录数据: 向已经创建好的表添加和删除指定的列族或列 ...
- Hbase记录-shell脚本嵌入hbase shell命令
第一种方式:hbase shell test.txt test.txt:list 第二种方式:<<EOF重定向输入 我们经常在shell脚本程序中用<<EOF重定向输入,将我们 ...
- Hbase Shell命令详解+API操作
HBase Shell 操作 3.1 基本操作1.进入 HBase 客户端命令行,在hbase-2.1.3目录下 bin/hbase shell 2.查看帮助命令 hbase(main):001:0& ...
- hbase shell 命令
HBase使用教程 时间 2014-06-01 20:02:18 IT社区推荐资讯 原文 http://itindex.net/detail/49825-hbase 主题 HBase 1 基 ...
- 关于HBase Shell命令基本操作示例
HBase 为用户提供了一个非常方便的使用方式, 我们称之为“HBase Shell”. HBase Shell 提供了大多数的 HBase 命令, 通过 HBase Shell 用户可以方便地创建. ...
随机推荐
- C++知识整理(在此感谢大牛的整理)
这篇文章主要讲解如何在C++中使用cin/cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等.通过本文,您可以完全脱离scanf/printf,仅使用cin/c ...
- 理解Lucene中的Analyzer
学习一个库,最好去官网.因为很多库API变动十分大,从博客上找的教程都过时了. Lucene原理就是简简单单的"索引",以空间换时间.但是Lucene将这件事做到了极致,后人再有想 ...
- 解决 无法将文件" "复制到“bin\*.*”。对路径“bin\*.*”的访问被拒绝。
关于这个问题今天碰到了, 我的解决办法很简单: 删除bin目录下的所有文件,然后重新生成,就不报错了.
- 重写 View 的 Touch 方法,实现一个酷炫的九宫格图片
前几天翻看代码库,发现一个之前写过的一个有意思的小玩意,共享给大家
- FA_资产成批报废(流程)
2014-06-08 Created By BaoXinjian
- OGG_GoldenGate数据控制进程Manager(案例)
2014-03-03 Created By BaoXinjian
- Objective-C学习笔记(四)——OC实现最简单的数学运算
本篇帖子会实现使用OC的最简单的加减乘除运算.学习的知识点包含变量定义.运算方法,格式化输出等概念.主要学习主要的语法,事实上和C语言的语法还是比較相似的. 具体代码仅仅要写在main方法中即可了.具 ...
- ORACLE生成唯一标识函数
-- Create tablecreate table TAB_TEST( id VARCHAR2(40) not null, fxnum VARCHAR2(40)) ---------------- ...
- RhinoMock初探
官方wiki:http://www.ayende.com/wiki/Rhino+Mocks.ashx ========================================= 接口Mock: ...
- SQL查询刚開始学习的人指南读书笔记(二)创建SQL查询
PARTII: SQL Basics CHAPTER 4Creating a Simple Query 介绍一种怎样创建SQL语句的技术--"Request/Translation/Clea ...