HBase-初看HBase
0.95版本
hbase 单机模式下所有的服务都运行在一个JVM上,包括HBase和zookeeper。使用的是本地文件系统
日志默认放在目录下logs文件夹中
基本命令:
create 'table','cf' //创建一个table名字的表,cloumn family为cf
put 'table','row1','cf:a','value1' //插入table表中一条数据,row1为key值,a为列名,value1为值
list ‘table’ //列出所有的表。table不是表名
scan ‘table’ //查看表中所有数据
get ‘table’,‘row1’ //取数据
disable ‘table’ //?
drop ‘table’;//删除表
hbase 分默认配置文件和用户自定义配置文件
hbase要求本地换回地址必须是127.0.0.1,不能是127.0.1.1等。Ubuntu默认是127.0.1.1
常用的Linux最大文件句柄不能满足hbase的要求,默认1024,设置到10K
sync 持久化同步
hbase的hadoop.jar必须和hadoop的hadoop.jar保持一致
hadoop hdfs有一个同时处理文件数的上限,这个上限至少要为4096,dfs.datanode.max.xcievers
hbase 分单机、伪分布式、完全分布式。和hadoop相同
hbase的数据目录hbase.rootdir要让它自己创建,不要自己创建
使用完全分布式模式,要把hbase.cluster.distributed 设置为true
hbase的conf/regionservers相当于hadoop的conf/slaves或者etc/slaves
一个分布式的hbase依赖一个zookeeper集群
hbase默认master端口 60000
hbase判断宕机默认为失联3分钟
hbase的表是按key排序的
使用HBase的时候要让HBase的版本和hadoop的对应才行,不然会出很多问题。方法有两种,一种是用hadoop的jar包替换HBase里面的hadoop jar包,强迫它们对应起来;另一种就是找到原配,根据hadoop的版本去选择HBase的版本;
我更倾向于第二种。查看方法是看HBase 的lib中hadoop相关的jar包的版本。
在稳定版本中它们大概的对应关系为:
可以看到,在一些过渡版本比如0.96.2、0.98.7有hadoop1.x和2.x的不同版本。
至于HBase与hadoop其他组件之间的关系,我读到一个帖子,感觉非常受用(虽然它的题目是HBase简介,但是我觉得它的题目更适合叫HBase与其他hadoop子项目之间的关系)
引用自:http://www.aboutyun.com/thread-6138-1-1.html
其中HBase位于结构化存储层,Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。
此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。
(才知道RDBMS是这么个东西)
HBase通过row和column确定一份数据,这份数据的值可能有多个版本,为什么会存在多个版本?
查询的时候会显示那个版本?
保证数据不被修改,查询时总是显示最新版本
存储类型
TableName 是字符串
RowKey 和 ColumnName 是二进制值(Java 类型 byte[])
Timestamp 是一个 64 位整数(Java 类型 long)
value 是一个字节数组(Java类型 byte[])。
可以简单的将HTable的存储结构理解为
Hbase的优点
1 列的可以动态增加,并且列为空就不存储数据,节省存储空间.
2 Hbase自动切分数据,使得数据存储自动具有水平scalability.
3 Hbase可以提供高并发读写操作的支持
Hbase的缺点:
1 不能支持条件查询,只支持按照Row key来查询.
2 暂时不能支持Master server的故障切换,当Master宕机后,整个存储系统就会挂掉.
HBase和传统型数据库的区别(http://www.aboutyun.com/thread-7804-1-1.html)
HBase-初看HBase的更多相关文章
- Hbase初体验
搭建local模式搭建, 官网:http://hbase.apache.org API:http://hbase.apache.org/apidocs/index.html download:http ...
- 【转帖】HBase之五:hbase的region分区
HBase之五:hbase的region分区 https://www.cnblogs.com/duanxz/p/3154487.html 一.Region 概念 Region是表获取和分布的基本元素, ...
- HBase学习笔记-HBase性能研究(1)
使用Java API与HBase集群交互时,需要构建HTable对象,使用该对象提供的方法来进行插入/删除/查询等操作.要创建HTable对象,首先要创建一个带有HBase集群信息的配置对象Confi ...
- HBase案例:HBase 在人工智能场景的使用
近几年来,人工智能逐渐火热起来,特别是和大数据一起结合使用.人工智能的主要场景又包括图像能力.语音能力.自然语言处理能力和用户画像能力等等.这些场景我们都需要处理海量的数据,处理完的数据一般都需要存储 ...
- HBase 实战(1)--HBase的数据导入方式
前言: 作为Hadoop生态系统中重要的一员, HBase作为分布式列式存储, 在线实时处理的特性, 备受瞩目, 将来能在很多应用场景, 取代传统关系型数据库的江湖地位. 本篇博文重点讲解HBase的 ...
- 4 hbase表结构 + hbase集群架构及表存储机制
本博文的主要内容有 .hbase读取数据过程 .HBase表结构 .附带PPT http://hbase.apache.org/ 读写的时候,就需要用hbase了,换句话说,就是读写的时候. ...
- HBase 2、HBase安装与初试牛刀
官方帮助文档:http://hbase.apache.org/book.html PDF:http://hbase.apache.org/apache_hbase_reference_guide.p ...
- [翻译] 初看 ASP.NET Core 3.0 即将到来的变化
[翻译] 初看 ASP.NET Core 3.0 即将到来的变化 原文: A first look at changes coming in ASP.NET Core 3.0 在我们努力完成下一个 m ...
- Hbase框架原理及相关的知识点理解、Hbase访问MapReduce、Hbase访问Java API、Hbase shell及Hbase性能优化总结
转自:http://blog.csdn.net/zhongwen7710/article/details/39577431 本blog的内容包含: 第一部分:Hbase框架原理理解 第二部分:Hbas ...
随机推荐
- CSS:不可思议的border属性
原文:Magic of CSS border property 译文:不可思议的CSS border属性 译者:dwqs 在CSS中,其border属性有很多的规则.对于一些事物,例如三角形或者其它的 ...
- Linux服务器下没有root权限装Matlab R2013a
Matlab R2013a Unix版下载地址 注意:由于我是在单位的集群系统上装Matlab,没有root权限,故下载下来的.iso文件不能在linux下用mount命令挂载,故先在Win下解压,再 ...
- css水平居中和垂直居中
水平居中:内联元素:text-align:center;相对于父级居中显示块级元素:margin:0 auto;但是需要同时width,否则无法看到效果多个块级元素居中:在此想要探讨一下display ...
- Android应用性能优化笔记(java代码优化)
Java代码优化 缓存结果: 如果计算代价过高,最好把过去的结果缓存起来. 伪代码如下: result=cache.get(n); //输入参数n作为键 if(result==nul ...
- 第三百零三天 how can I 坚持
今天年会,运气还不错,竟然中了个小奖,一个榨汁机,已经很满足了. 今天加上了她,感觉挺合适,就怕一句话聊不来就带搭不理的了.她很好,懂得知足,不攀比. 弟弟今天把房子首付交了,把贷款办完就算安心了,目 ...
- 最大二位子数组和问题(homework-02)
前面已经谈过最大一维子数组和问题,这里面扩展到二维. 一. 常规情况 一个矩形的数组,找到一个矩形的子数组有最大的元素和,求这个和. 1. 从朴素算法入手,枚举矩形数组的4个顶点,以此计算其数组和.同 ...
- 关于Js脚本的延迟执行
关于标签,我们有一般会放在两个地方,一个是在标签的内部,另一个是放在前面.这一次我们着重讲解一下放在标签内部.在我们用Js操作DOM元素时,如果不延时执行,DOM元素其实是根本还没有被渲染出来的. ...
- jquery easyui中的dialog拖动超出浏览器问题解决办法
juqery easyui当鼠标点着拖动超出浏览器后,就回不来了,拉不下的问题: //控制dialog超出浏览器回到原来的地方 var default_left; var default_top;// ...
- MSGPACK(一)
MSGPACK跨平台的数据序列规范,为多种语言所支持.用它序列还是还原数据都异常方便. 而且它支持序列的数据格式非常之多,因为它支持的数据格式多,所以MSGPACK的第二功用:缓存. DELPHI的M ...
- Educational Codeforces Round 13 D. Iterated Linear Function (矩阵快速幂)
题目链接:http://codeforces.com/problemset/problem/678/D 简单的矩阵快速幂模版题 矩阵是这样的: #include <bits/stdc++.h&g ...