Hadoop生态架构之Hbase

1.Hbase定义

HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现
的编程语言为 Java。
是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,因此可以容错地存
储海量稀疏的数据。

2.特性

1.高可靠
2.高并发读写
3.面向列
4.可伸缩
5.易构建

3.行存储 v s 列存储

行存储
优点:写入一次性完成,保持数据完整性
缺点:数据读取过程中产生冗余数据,若有少量数据可以忽略
列存储
优点:读取过程,不会产生冗余数据,特别适合对数据完整性要求不高的大数据领域
缺点:写入效率差,保证数据完整性方面差

4.Hbase优势

海量数据存储
快速随机访问
大量写操作的应用

5.Hbase应用场景

互联网搜索引擎数据存储
海量数据写入
消息中心
内容服务系统(schema-free)
大表复杂&多维度索引
大批量数据读取

6.Hbase数据模型

例1:



RowKey:是Byte array(以字节的方式存储,前后之间是按照顺序存储的,可以通过二分法检索),是表中每条记录的“主键”,方便快速查找, Rowkey的设计非常重要。
Column Family:列族,拥有一个名称(string),包含一个或者多个相关列
Column:属于某一个columnfamily, familyName:columnName,每条记录可动态添加
Version Number:类型为Long,默认值是系统时间戳,可由用户自定义
Value(Cell): Byte array
例2:



为了检索快速,体现了一个三维有序的特点:
三维:1.rowkey 2.列族 3.version

举例:


{rowkey => {family => {qualifier => {version => value}}}}
a:cf1:bar:1368394583:7
a:cf1:foo:1368394261:hello
一维:a
二维:cf1:bar和cf1:foo
三维:1368394583和1368394261
前两维按顺序排列,时间戳按倒序排列
上表在传统数据库的形式如下:


7.Hbase物理模型

1.Hbase一张表由一个或多个Hregion(分区或区域)组成
2.记录之间按照Row Key的字典序排列
region举例:


3.Region特点:
1)Region是Hbase中分布式存储和负载均衡的最小单元,最小单元就表示不同的Hregion可以分布在不同的
HRegion server上。
2)Region按大小分割的,每个表一开始只有一个region,随着数据不断插入表, region不断增大,当增大到一个阀值(默认10G)的时候, Hregion就会等分会两个新的Hregion。当table中的行不断增多,就会有越来越多Hregion。
3).同一张表的两个不同的Region可能在同一台机器上,也可能在不同的机器上,如下图:

3.regionserver:
region所在的那台机器,这个机器就是regionserver,机器上的进程就是HRegionServer
regionserver的作用:
主要负责用户的io请求(读和写),regionserver提供一个入口,供客户端来对hdfs的一个交互
进程
HRegionServer的作用:HRegionServer内部管理了一系列Hregion对象
4.Hbase物理模型
(1)Hbase里的一张表叫Htable
(2)按RowKey范围分的Region-> HRegion ->Region Servers
(3)HRegion按列族(Column Family) ->多个HStore(一个Column Family就被分为一个HStore(文件))
(4)HStore -> memstore(默认128M) + HFiles(均为有序的KV)
(5)HFiles -> HDFS
一个HRegion结构如下图:

HRegionServer上的HRegion存储结构如下图:

8.Hbase系统架构

1.Client:访问Hbase的接口,并维护Cache加速Region Server的访问
2.HMaster(主):
1.负载均衡,分配Region到RegionServer
2.DDL:增删改-->table,cf,namespace
3.类似于namenode,管理一些table元数据
4.ACL权限控制
功能:
3.HRegionServer(从):
1.管理和存放本地的HRegion
2.读写HDFS,提供IO操作
3.本地化:HRegion的数据尽量和数据所属的DataNode在一块。但是这个本地化不能够总满足和实现
4.Zookeeper:
保证集群中只有一个Master
存储所有Region的入口(ROOT)地址
实时监控Region Server的上下线信息,并通知Master
系统架构图:



9.Hbase的容错

1.Master容错:
Zookeeper重新选择一个新的Master
无Master过程中,数据读取仍照常进行;
无master过程中, region切分、负载均衡等无法进行
2.Region Server容错:
定时向Zookeeper汇报心跳,如果一旦时间内未出现心跳, Master将该RegionServer上的
Region重新分配到其他RegionServer上,失效服务器上“预写”日志由主服务器进行分割
并派送给新的RegionServer
3.Zookeeper容错:
Zookeeper是一个可靠地服务,一般配置3或5个Zookeeper实例

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容

  • [TOC] 一、RowKey 的作用 HBase 由于其存储和读写的高性能,在 OLAP 即时分析中越来越发挥重要...
    w1992wishes阅读 2,253评论 1 1
  • 【什么是大数据、大数据技术】 大数据,又称巨量资料,指的是所涉及的数据资料量规模巨大到无法在合理时间内通过传统的应...
    kimibob阅读 2,747评论 0 51
  • 1.HBase是什么 1)HBase的产生背景? 随着数据规模越来越大,大量业务场景开始考虑数据存储的水平扩展,使...
    悟成阅读 14,823评论 1 52
  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 7,277评论 0 34
  • 一、简介 Hbase:全名Hadoop DataBase,是一种开源的,可伸缩的,严格一致性(并非最终一致性)的分...
    菜鸟小玄阅读 2,392评论 0 12