`
SunnyYoona
  • 浏览: 367827 次
社区版块
存档分类
最新评论

[Hadoop]HBase物理模型

 
阅读更多

这里写图片描述

  1. Client

    包含访问HBase的接口并维护cache,加快对HBase的访问
    
  2. Zookeeper

    保证任何时候,集群中只有一个master
    存贮所有Region的寻址入口。
    实时监控Region server的上线和下线信息。并实时通知给Master
    存储HBase的schema和table元数据
    
  3. HMaster

    总控节点
    为Region server分配region
    负责Region server的负载均衡
    发现失效的Region server并重新分配其上的region
    管理用户对table的增删改查操作
    
  4. HRegionServer

    假设一个表有一亿行,数据量很大,根据分布式的思想,我们把它分成几个区域。假设分成10个区域,则每个区域有1千万行。我们把每个区域称之为一个Region。每个HRegionServer管理许多Region。
    Region server维护region,处理对这些region的IO请求
    Region server负责split在运行过程中变得过大的region
    

ZooKeeper存储所有Region的入口,Client通过访问它获得-ROOT-表的的location信息,接着通过-ROOT-表获得.META.表Region信息,最后再通过.META.表获得用户表的Region信息。Client会缓存这些信息,这样下次就可以直接获得用户表的Region信息。

这里写图片描述

如上图所示,当Client连上HReigonServer后,后者会打开相应的HRegion对象,为每个HColumeFamily创建Store实例,每个Store实例有一个MemStore,一个或多个StoreFile,StoreFile是HFile轻量级的包装。

  1. 写数据过程

    首先是把Log写入到HLog中,HLog是标准的Hadoop Sequence File,由于Log数据量小,而且是顺序写,速度非常快;同时把数据写入到内存MemStore中,成功后返回给Client,所以对Client来说,HBase写的速度非常快,因为数据只要写入到内存中,就算成功了。接着检查MemStore是否已满,如果满了,就把内存中的MemStore Flush到磁盘上,形成一个新的StoreFile。当Storefile文件的数量增长到一定阈值后,系统会进行合并(Compact),在合并过程中会进行版本合并和删除工作,形成更大的storefile。当Storefile大小超过一定阈值后,会把当前的Region分割为两个(Split),并由Hmaster分配到相应的HRegionServer,实现负载均衡

  2. 读数据过程

    由于无法直接修改HBase里的数据,所有的update和delete操作都转换成append操作,而且HBase里也没有索引,因此读数据都是以Scan的方式进行。Client在读数据时,一般会指定timestamp和ColumnFamily.首先,根据ColumnFamily可以过滤掉很大一部分Store,这也是HBase作为列式数据库的一大优势。然后,根据timestamp和Bloom Filter排除掉一些StoreFiles最后,在剩下的StoreFile (包含MemStore)里Scan查找

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    Hbase 的shell基本操作

    hadoop 集群环境下 hbase 的shell 基本操作命令

    Hbase中文文档

    12.13. HBase 和 Hadoop 版本相关 12.14. 案例 13. 案例研究 13.1. 概要 13.2. Schema 设计 13.3. 性能/故障排除 14. HBase Operational Management 14.1. HBase Tools and Utilities 14.2. Region Management 14.3....

    HBase.docx

    0、Windows 下Eclipse运行HBase程序 2 一、HBase的概述 5 1.hbase的特点 6 ...2.物理模型 20 3.存储体系 22 4.HDFS上的目录结构 22 5.整体结构 23 …………………… …………………… ……………………

    Hbase简介,从数据模型、架构等方面介绍

    从数据模型、物理储存、架构等方面介绍,比较简介通俗

    Hadoop实战(第2版)

    技术点5 使用Sqoop 从MySQL 导入数据 2.2.4 HBase 技术点6 HBase 导入HDFS 技术点7 将HBase 作为MapReduce 的数据源2.3 将数据导出Hadoop 2.3.1 将数据导入本地文件系统技术点8 自动复制HDFS 中的文件...

    五分钟学大数据-HBase 知识体系吐血总结1

    2. 过滤器查询 21 3. 根据 rowkey 删除数据29 4. 删除表操作 29 1. 系统架构 29 2. HBase 的表数据模型31 3. 物理存储

    Hadoop硬实战 [(美)霍姆斯著][电子工业出版社][2015.01]_PDF电子书下载 带书签目录 高清完整版.rar )

    1.1.3 物理架构 1.1.4 谁在使用Hadoop 1.1.5 Hadoop 的局限性 1.2 运行Hadoop 1.2.1 下载并安装Hadoop 1.2.2 Hadoop 的配置 1.2.3 CLI 基本命令 1.2.4 运行MapReduce 作业 1.3 本章小结...

    云计算第二版

    6.4.2 物理模型 198 6.4.3 子表服务器 199 6.4.4 主服务器 199 6.4.5 元数据表 200 6.5 Hadoop安装 200 6.5.1 在Linux系统中安装Hadoop 200 6.5.2 在Windows系统中安装Hadoop 208 6.6 HDFS使用 215 6.6.1 HDFS 常用...

    大数据常用数据库汇总.pdf

    (2)HBase:Apache Hbase源于Google的Bigtable,是⼀个开源、分布式、⾯向列存储的模型。在Hadoop和HDFS之上提供了像 Bigtable⼀样的功能。 (3)Amazon SimpleDB:Amazon SimpleDB是⼀个⾮关系型数据存储,它卸下...

    大数据专业是学什么课程.pdf

    以中国⼈⺠⼤学为例: 基础课程:数学分析、⾼等代数、普通物理数学与信息科学概论、数据结构、数据科学导论、程序设计导论、程序设计实 践。 必修课:离散数学、概率与统计、算法分析与设计、数据计算智能、数据库...

Global site tag (gtag.js) - Google Analytics