您的位置:首页 > 其它

Hbase的安装部署及基本语法

2017-09-14 19:32 246 查看
Hbase的安装部署
1、前提条件

  1)hadoop环境 启动相关的Hadoop进程

2)zookeeper环境 启动zookeeper

2、安装Hbase

解压tar -zxf  hbase-0.98.6-cdh5.3.6.tar.gz -C /opt/modules/cdh

##配置hbase-env.sh

export HBASE_MANAGES_ZK=false      //124行

export JAVA_HOME=/opt/modules/jdk1.7.0_67    //29行

##配置hbase-site.xml

<property>

<name>hbase.rootdir</name>

<value>hdfs://[hostname]:8020/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>[hostname]</value>

</property>

#### regionservers文件配置

[hostname]

3、启动Hbase

         在${HOME_Hbase}目录下:

方式一:单独启动

bin/hbase-daemon.sh start master

bin/hbase-daemon.sh start regionserver

方式二:同时启动

bin/start-hbase.sh

停止时将start对应修改为stop即可

解决hbase shell中无法退格的问题:

xshell :

文件-属性-终端-键盘-两个都选择ASCII
127

CRT:

选项-会话选项-仿真-终端-选择linux

选项-会话选项-映射键--勾选上

基本语法

在${HOME_Hbase}目录下:

$ bin/hbase version      //查看hbase的版本



$ bin/hbase shell       //连接Hbase



连接hbase之后,Hbase的常用命令

如何创建命名空间:

4000

> create_namespace  '命名空间名'     //创建命名空间



两种创建表的方式:

>create ‘命名空间:表名’,’列簇名1’,’列簇名2’,’.........’     //创建表格(默认版本数为1)



查看表结构

>desc ‘命名空间:表名’



>create '命名空间:表名’,{NAME=>'列簇名',VERSIONS=>版本个数},{.......}    //创建表格(自定义版本数)



查看表结构



scan 扫描表

> scan '命名空间:表名'
 扫描全表



> scan '命名空间:表名' ,{COLUMNS => '列簇:列名'}  扫描该表的该列簇下的所有数据



> scan '命名空间:表名' ,{COLUMNS => '列簇:列名'}  扫描该表的该列簇下该列名的所有数据



> scan '命名空间:表名' ,{COLUMNS => ['列簇:列名','列簇:列名'
]}  扫描多列数据



> scan '命名空间:表名' ,{COLUMNS => ‘列簇’,STARTROW=>'rowkey值'}
   指定扫描的起始rowkey  



> scan '命名空间:表名' ,{COLUMNS => ‘列簇’,STARTROW=>'rowkey值',STOPROW=>'rowkey值’}
   给定扫描数据rowkey的范围,默认是左闭右开 



> scan '命名空间:表名' ,{LIMIT=>n}    只扫描设定n(正整数)条数据



> scan '命名空间:表名' ,{COLUMNS => '列簇:列名',
LIMIT=>n}    组合使用



get 获取数据

get获取的某条数据  

scan获取的是一个范围内的数据  

> get '命名空间:表名' ,'rowkey值'  获取某条数据的cell 



> get '命名空间:表名' ,'rowkey值',
{COLUMN => '列簇:列名'}   获取某条数据某个列的cell



>get '命名空间:表名', 'rowkey值',
['列簇:列名', '列簇:列名']
       获取指定列的cell



删除数据

删除命令并不是立即从hdfs上删除数据,删除命令只是对对应的这些cell打上了‘删除’标签

打上‘删除’标签的cell不能直接scan或get获取数据

在hbase进行大合并机制时才会彻底从hbase中删除

> delete '命名空间:表名','rowkey值'
,'列簇:列名'   删除某个cell内的所有的版本
 

> deleteall '命名空间:表名', 'rowkey值',
'列簇:列名'  也看可以删除某条数据的某个cell所有版本



> deleteall '命名空间:表名', 'rowkey值'
  删除整条数据

> truncate 'xxx'  清空一张表

version 版本

优点:版本就是保存了value值的多个历史记录,客户端可以根据需求获取历史记录  

创建表时默认的版本数是1个 ,多个版本时scan或get时默认显示最新版本

>create '命名空间:表名’,{NAME=>'列簇名',VERSIONS=>版本个数},{.......}    //创建表格(自定义版本数)

添加数据

>Put ‘命名空间:表名’,’rowkey值’,’列簇:列名’,’cell值’

> scan '命名空间:表名'  默认显示最新的值  

> scan '命名空间:表名' , { VERSIONS=> n}  指定显示最新的n个cell的版本

> get '命名空间:表名',’rowkey值’',{COLUMN
=>'列簇:列名', TIMESTAMP=>时间戳}   //获取指定版本的cell的值 

删除表

> disable '命名空间:表名'  先禁用 

> drop '命名空间:表名'  再删除

> count '命名空间:表名'    计算某张表有多少行数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: