Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2170971
  • 博文数量: 436
  • 博客积分: 9833
  • 博客等级: 中将
  • 技术积分: 5558
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-29 10:27
文章存档

2013年(47)

2012年(79)

2011年(192)

2010年(118)

分类: 云计算

2011-10-23 15:24:03

它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储非结构化和半结构化的松散数据。

Hbase在行的方向将表分成了多个Region,每个Region包含了一定范围内的数据。

Region在行的方向将表分成了多个Region,每个表最初只有一个Region,随着表中的记录数不断的增加,当超过某个阈值的时候,Region就会被分割形成两个新的RegionRegionHBase中分布式存储和调度的最小单位。

目录表信息包含两个目录表:-ROOT-.META..

用户表信息给出了HBase中的表信息及相关的属性。

Region服务器信息给出了所有Region服务器的地址。

用户表页面

通过master页面中用户表信息提供的链接进入用户表页面

Hbase中的表一般的特点:

1.大 含有上亿的列

2.面向列:面向列的存储和权限控制,列独立检索。

3.稀疏:对于空列,并不占用空间,因此表可以设计的很稀疏

下面的这个图是一个对Hadoop系统的一个很综述性的描述

Region按大小分割的,当region不断的增加,Hregion就会等分成两个新的HregionHregionHbase中的负载均衡的最小单元。最小单元是表示不同的Hregion分布在不同的Hregion server上。

Region是由多个Store组成的。每个store保存了一个列族的所有数据。 每个store包含了一个memstore 0~nstorefile组成。

主服务器

HBase每个时刻只有一个HMaster在运行,HMaster协调Region服务器的负载情况。HMaster不会对外提供数据服务。而是由Regin服务器来提供所有的Regions的读写请求,当HRegionServer发生故障的时候,HMaster通过Zookeeper感知到,并处理相应的log文件。HMaster只维护表和元数据,当HMaster节点失效以后,仅会导致所有的数据无法被修改,但是正常的读写是可以的。

元数据表

Regions的元数据被存放到.META.表中,随着Region的增加,多个.META.表中的数据也会增大。逐渐变大后回分裂成多个Region.为了定位.META.中的各个Region的位置,把.META.表中的所有Regions的元数据保存在-ROOT-当中,最后由ZooKeeper记录-ROOT-表的位置信息。所以客户端访问用户数据前会访问ZooKeeper中的内容,然后访问-ROOT-来获得.META.表中的信息确定用户数据存放的位置。

.META.表的Regions全部存放在内存当中。

>>Create  'test','data'

创建了一个名为data的列 表的名字为test

HBase中有一个特点就是当重新向表中写的时候,系统不会报错,而是直接替换相关的内容。

默认的端口号

,里面显示了master的相关的概要型的信息

先运行hadoop环境,然后再运行start-hbase脚本,可以看到相应的信息,以下是hbase启动后的java进程的情况。

阅读(1950) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~