博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase的安装与使用
阅读量:5819 次
发布时间:2019-06-18

本文共 3284 字,大约阅读时间需要 10 分钟。

1.安装

由于还是学习阶段,所以没有在生产环境练习,就在本地建了个虚拟机进行HBase的安装。

 下载地址,选择一个镜像后,选择stable,选择一个版本下载,要下载带hadoop的,不然会提示找不到JAVA_HOME,可能是因为我虚拟机没有安装hadoop,但是HBase是基于HDFS的。

下载后拉到虚拟机,解压就可以了。现在已经可以启动Hbase了。但是可能需要先编辑 conf/hbase-site.xml 去配置hbase.rootdir,来选择Hbase将数据写到哪个目录 .

如果想写到/data/下面就这样配置

hbase.rootdir
file:///data/hbase

2.启动

$ ./bin/start-hbase.shstarting Master, logging to logs/hbase-user-master-example.org.out

 3.HBase Shell

通过shell启动HBase客户端

[root@Slave1 bin]# ./hbase shellHBase Shell; enter 'help
' for list of supported commands.Type "exit
" to leave the HBase ShellVersion 0.98.7-hadoop1, r800c23e2207aa3f9bddb7e9514d8340bcfb89277, Wed Oct 8 15:29:52 PDT 2014hbase(main):001:0>

创建一个表test,里面包含一个列族cf

hbase(main):002:0> create 'test', 'cf'

在表test中插入一个单元格(cell),该单元格的行序列(行键)是‘row1’,存放在列族cf里面的a列中,单元格的存放内容是value1

hbase(main):005:0> put 'test', 'row1', 'cf:a', 'value1'

 

查看test表的数据

hbase(main):009:0> scan 'test'ROW                                        COLUMN+CELL                                                                                                                row1                                      column=cf:a, timestamp=1413946088193, value=value1                                                                         row2                                      column=cf:b, timestamp=1413946099094, value=value2                                                                         row3                                      column=cf:c, timestamp=1413946106083, value=value3                                                                        3 row(s) in 0.0710 seconds

获取一行的数据

hbase(main):020:0> get 'test','row1'COLUMN                                     CELL                                                                                                                       cf:a                                      timestamp=1413949135611, value=value2                                                                                      cf:b                                      timestamp=1413947301769, value=row1_b_1                                                                                   2 row(s) in 0.0110 seconds

获取一个单元格的内容

hbase(main):016:0> get 'test','row1','cf:b'COLUMN                                     CELL                                                                                                                       cf:b                                      timestamp=1413947301769, value=row1_b_1                                                                                   1 row(s) in 0.0390 seconds

 

shell操作特点:

1.每个参数都需要单引号引住

2.插入字符是在光标后面插入,但是删除是在光标的前面删除,所以在删除字符的时候要先把光标移到最前边再删除

3.每个参数要逗号分隔

4.HBase数据数据储存特点

HBase是一个分布式的、面向列的开源数据库,HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

 HBase的存储方式是key/value的方式存储的,但是它又不同于redis这些传统的key/value数据库,redis里面的key是唯一的,key与key直接是没有任何关系的,但是在HBase中,由多个字段组成一个key,包括表名,行健,列族,列名,这四个子key组合成一个key来指向一个value,由于一个key有四个子key组成,所以HBase就有了关系型数据库的特性,例如我们可以找到表名和行健相同的key对于的value,这样就相当于在关系型数据库中select一行数据出来了。通过这四个子key,我们可以找到数据之间的关系。

HBase的另一个特点是每个单元格,都会有一个timestamp参数,这个是插入这条单元格的时间戳,通过配置,我们可以让HBase更新数据的时候,不把旧的数据,也就是同样的key,数据可以保留多份。

加入timestamp参数的另一个原因可能是方便分布式运算,因为有了插入数据的时间戳,序列化就会方便多了

 

转载地址:http://tkwdx.baihongyu.com/

你可能感兴趣的文章
Spring ’14 Wave Update: Installing Dynamics CRM on Tablets for Windows 8.1
查看>>
MySQL 备份与恢复
查看>>
TEST
查看>>
PAT A1037
查看>>
[Oracle]如何在Oracle中设置Event
查看>>
top.location.href和localtion.href有什么不同
查看>>
Gradle之module间依赖版本同步
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
查看>>
d3 v4实现饼状图,折线标注
查看>>
微软的云策略
查看>>
Valid Parentheses
查看>>
nginx 301跳转到带www域名方法rewrite(转)
查看>>
AIX 配置vncserver
查看>>
windows下Python 3.x图形图像处理库PIL的安装
查看>>
【IL】IL生成exe的方法
查看>>
SettingsNotePad++
查看>>
没有JS的前端:体积更小、速度更快!
查看>>
数据指标/表现度量系统(Performance Measurement System)综述
查看>>
GitHub宣布推出Electron 1.0和Devtron,并将提供无限制的私有代码库
查看>>
论模式在领域驱动设计中的重要性
查看>>