导航:首页 > 程序命令 > hbaseshell命令

hbaseshell命令

发布时间:2022-05-16 12:06:18

㈠ 已知HBase数据库如下,请按要求写出下列操作的HBase Shell命令

1、scan 'student'
2、get 'student','201501'
3、这个题好像有问题,没有写列族是什么,我就简写成'cf'l
put 'student','201504','cf:name','chenli'
put 'student','201504','cf:sex','male'
put 'student','201504','cf:age','26'
4、put 'student','2015003','cf:age','25' (更新其实就是新插入一条)
5、deleteall 'student','2015002'

㈡ 需要安装什么使用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
例如:删除表t1

hbase(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 '', '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

㈢ Hadoop HBASE shell编程中 所有指令提示提示无效参数

你在while[xxx]之前将while中括号内的东西(xxx)打印一下看就明白了:
echo xxx
可能原因是其中有参数带有特殊字符,如”[”、“]“等,你可以这样引用参数:
while [ ${var} = ${var2} ]
do
...
如果还可能有空串的话,这样万无一失:
while [ ”X${var}“ = "X${var2}" ]
do
...
X是随便拼上去的一个字符,目的就是保证你那个串不会是空的

㈣ 如何登陆hbase shell

在命令行中输入
hbase shell
即可

㈤ 如何在linux shell中嵌入hbase命令

1写你要实现的功能的shell脚本 2chmod 增加可执行权限 3放到类似usr/local/bin 之类的目录下面,就是环境变量PATH能找到的目录

㈥ 如何查看hadoop版本

通过在集群上执行:hadoop version 命令可以查看对应的hadoop的版本。

查看hadoop集群的位数:

执行:cd $HADOOP_HOME/lib/native

file libhadoop.so.1.0.0

Hadoop属于一个能够对大量数据进行分布式处理的软件框架。 Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。

Hadoop的发行版除了有Apache hadoop外cloudera,hortonworks,mapR,DKhadoop等都提供了自己的商业版本。

商业发行版主要是提供了更为专业的技术支持,这对于大型企业更为重要,不同发行版都有自己的一些特点。

(6)hbaseshell命令扩展阅读:

对比版选择:DKhadoop发行版、cloudera发行版、hortonworks发行版。

1、DKhadoop发行版:有效的集成了整个HADOOP生态系统的全部组件,并深度优化,重新编译为一个完整的更高性能的大数据通用计算平台,实现了各部件的有机协调。

因此DKH相比开源的大数据平台,在计算性能上有了高达5倍(最大)的性能提升。DKhadoop将复杂的大数据集群配置简化至三种节点(主节点、管理节点、计算节点),极大的简化了集群的管理运维,增强了集群的高可用性、高可维护性、高稳定性。

2、Cloudera发行版:CDH是Cloudera的hadoop发行版,完全开源,比Apache hadoop在兼容性,安全性,稳定性上有增强。

3、€Hortonworks发行版:Hortonworks 的主打产品是Hortonworks Data Platform (HDP),也同样是100%开源的产品。

其版本特点:HDP包括稳定版本的Apache Hadoop的所有关键组件;安装方便,HDP包括一个现代化的,直观的用户界面的安装和配置工具。

㈦ shell怎样过滤掉hbase-site.xml文件中的注释项

hbase接到命令后存下变化信息或者写入失败异常的抛出,默认情况下。执行写入时会写到两个地方:预写式日志(write-ahead log,也称hlog)和memstore,以保证数据持久化。memstore是内存里的写入缓冲区。客户端在写的过程中不会与底层的hfile直接交互,当menstore写满时,会刷新到硬盘,生成一个新的hfile.hfile是hbase使用的底层存储格式。menstore的大小由hbase-site.xml文件里的系统级属性hbase.hregion.memstore.flush.size来定义。
hbase在读操作上使用了lru缓存机制(blockcache),blockcache设计用来保存从hfile里读入内存的频繁访问的数据,避免硬盘读。每个列族都有自己的blockcache。blockcache中的block是hbase从硬盘完成一次读取的数据单位。block是建立索引的最小数据单位,也是从硬盘读取的最小数据单位。如果主要用于随机查询,小一点的block会好一些,但是会导致索引变大,消耗更多内存,如果主要执行顺序扫描,大一点的block会好一些,block变大索引项变小,因此节省内存。
LRU是Least Recently Used 近期最少使用算法。内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。

㈧ hbase shell输错命令后按回车不执行,只换行怎么退出

输入exit就可以了。亲测有效

㈨ 启动HBASE后没有HBASE SHELL命令

你想运行hbase,但是hbase不在环境变量里,需要输入完整路径
比如:/usr/local/hbase/bin/hbase

㈩ hbase shell 什么意思

hbase shell:
HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》。HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapRece来处理HBase中的海量数据,利用Zookeeper作为协同服务。

hbase提供了一个shell的终端给用户交互。通过执行 help get 可以看到命令的帮助信息。

阅读全文

与hbaseshell命令相关的资料

热点内容
网络测试服务器怎么设置 浏览:1001
143端口的收件服务器是什么 浏览:551
程序员学习编程的好处 浏览:23
行业同城商家电话114系统源码 浏览:655
怎么删除哔哩哔哩服务器维护 浏览:9
SAS编程与数据挖掘商业案例 浏览:975
邮箱打开文件怎么有解压密码 浏览:358
c语言socket编程视频教程 浏览:558
phpexcel文件名乱码 浏览:886
程序员6年实现财富自由 浏览:871
pdf内存变小 浏览:812
基于单片机的计算器设计 浏览:24
安卓王者帧数高有什么好处 浏览:178
怎么查找快手好友加密的作品 浏览:768
什么是app外包 浏览:561
命令发送邮件 浏览:133
徐飞程序员 浏览:154
服务器未安装好怎么办 浏览:333
程序员十倍工资 浏览:759
单片机同时充电和供电 浏览:384