`
小网客
  • 浏览: 1215649 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hbase体系结构之二

 
阅读更多

Hbase架构图

 

 

Client作用:

 

使用HBase RPC机制与HMaster和HRegionServer进行通信
Client与HMaster进行通信进行管理类操作
Client与HRegionServer进行数据读写类操作

 

 Zookeeper作用:

 

Zookeeper Quorum存储-ROOT-表地址、HMaster地址
HRegionServer把自己以Ephedral方式注册到Zookeeper中,HMaster随时感知各个HRegionServer的健康状况
Zookeeper避免HMaster单点问题

 

 HMaster:

 

HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master在运行
主要负责Table和Region的管理工作:
1 管理用户对表的增删改查操作
2 管理HRegionServer的负载均衡,调整Region分布
3 Region Split后,负责新Region的分布
4 在HRegionServer停机后,负责失效HRegionServer上Region迁移

 HRegionServer:

 

HRegionServer管理一些列HRegion对象;
每个HRegion对应Table中一个Region,HRegion由多个HStore组成;
每个HStore对应Table中一个Column Family的存储;
Column Family就是一个集中的存储单元,故将具有相同IO特性的Column放在一个Column Family会更高效

 HStore:

 

HBase存储的核心。由MemStore和StoreFile组成。
MemStore是Sorted Memory Buffer

 HLog:

 

在分布式系统环境中,无法避免系统出错或者宕机,一旦HRegionServer以外退出,MemStore中的内存数据就会丢失,引入HLog就是防止这种情况
工作机制:
每个HRegionServer中都会有一个HLog对象,HLog是一个实现Write Ahead Log的类,每次用户操作写入Memstore的同时,也会写一份数据到HLog文件,HLog文件定期会滚动出新,并删除旧的文件(已持久化到StoreFile中的数据)。当HRegionServer意外终止后,HMaster会通过Zookeeper感知,HMaster首先处理遗留的HLog文件,将不同region的log数据拆分,分别放到相应region目录下,然后再将失效的region重新分配,领取到这些region的HRegionServer在Load Region的过程中,会发现有历史HLog需要处理,因此会Replay HLog中的数据到MemStore中,然后flush到StoreFiles,完成数据恢复。

 Hbase存储格式:

 

HBase中的所有数据文件都存储在Hadoop HDFS文件系统上,格式主要有两种:
1 HFile HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile
2 HLog File,HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File

 HFile:

 

HFile文件不定长,长度固定的块只有两个:Trailer和FileInfo
Trailer中指针指向其他数据块的起始点
File Info中记录了文件的一些Meta信息,例如:AVG_KEY_LEN, AVG_VALUE_LEN, LAST_KEY, COMPARATOR, MAX_SEQ_ID_KEY等
Data Index和Meta Index块记录了每个Data块和Meta块的起始点
Data Block是HBase I/O的基本单元,为了提高效率,HRegionServer中有基于LRU的Block Cache机制
每个Data块的大小可以在创建一个Table的时候通过参数指定,大号的Block有利于顺序Scan,小号Block利于随机查询
每个Data块除了开头的Magic以外就是一个个KeyValue对拼接而成, Magic内容就是一些随机数字,目的是防止数据损坏
HFile里面的每个KeyValue对就是一个简单的byte数组。这个byte数组里面包含了很多项,并且有固定的结构。
KeyLength和ValueLength:两个固定的长度,分别代表Key和Value的长度
Key部分:Row Length是固定长度的数值,表示RowKey的长度,Row 就是RowKey
Column Family Length是固定长度的数值,表示Family的长度
接着就是Column Family,再接着是Qualifier,然后是两个固定长度的数值,表示Time Stamp和Key Type(Put/Delete)
Value部分没有这么复杂的结构,就是纯粹的二进制数据

 HLog:

 

HLog文件就是一个普通的Hadoop Sequence File,Sequence File 的Key是HLogKey对象,HLogKey中记录了写入数据的归属信息,除了table和region名字外,同时还包括 sequence number和timestamp,timestamp是“写入时间”,sequence number的起始值为0,或者是最近一次存入文件系统中sequence number。
HLog Sequece File的Value是HBase的KeyValue对象,即对应HFile中的KeyValue
 

 

  • 大小: 43.1 KB
分享到:
评论

相关推荐

    Hbase体系架构与安装

    hbase的体系架构安装,hbase的三种安装模式,及一些操作命令

    实验三:熟悉常用的HBase操作

    (1)理解HBase在Hadoop体系结构中的角色。(2)熟练使用HBase操作常用的 Shell命令。(3)熟悉HBase操作常用的 Java API。 A.3.2 实验平台 (1)操作系统:Linux。 (2)Hadoop 版本:2.7.1或以上版本。(3)HBase版本:...

    搭建HBase完全分布式数据库

    一、Hbase数据库概述; 二、Hbase体系结构; 三、Hbase数据库模型; 四、总结Hbase整体特点; 五、案例:搭建Hbase分布式数据库系统

    HBase海量数据存储实战视频教程

    从HBase的集群搭建、HBaseshell操作、java编程、架构、原理、涉及的数据结构,并且结合陌陌海量消息存储案例来讲解实战HBase 课程亮点 1,知识体系完备,从小白到大神各阶段读者均能学有所获。 2,生动形象,化繁为...

    云海大数据一体机体系结构和关键技术

    该一体机采用兼顾横向和纵向可扩展的体系结构,并采用硬件可定制化设计和混合型软件架构支持多种大数据应用类型.在此基础上,针对HDFS元数据服务瓶颈问题、MapReduce负载倾斜问题、HBase的跨域问题,介绍了在云海大数据...

    hbase应用架构指南

    Hbase全称为Hadoop Database,即Hbase是Hadoop的数据库,是一个分布式的存储系统。...本篇文章将重点介绍Hbase三个方面的内容:Hbase体系结构(架构)的介绍、Hbase shell的操作、Hbase的Java api的客户端操作

    HBase.docx

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

    大数据运维技术第7章 HBase组件安装与配置课件.pptx

    HBase的体系结构是一个主从式的结构,主节点HMaster在整个集群当中只有一个在运行,从节点HRegionServer有很多个在运行,主节点HMaster与从节点HRegionServer实际上指的是不同的物理服务器,即有一个服务器上面跑的...

    大数据技术原理及应用课实验3 熟悉常用的HBase操作 林子雨实验

    1. 理解HBase在Hadoop体系结构中的角色; 2. 熟练使用HBase操作常用的Shell命令; 3. 熟悉HBase操作常用的Java API。 二、实验平台 1. 操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04); 2. Hadoop版本:3.1.3; 3...

    大数据实验三-HBase编程实践

    1、理解HBase在Hadoop体系结构中的角色。 2、熟练使用HBase操作常用的Shell命令。 3、熟悉HBase操作常用的JavaAPI。 三.实验过程截图及说明 1、安装HBase (1)解压HBase文件到/usr/local目录下,并将目录改名为...

    Hbase框架原理和开发指导-基础篇.docx

    详细介绍了hbase的框架结构,运行原理,环境搭建,shell命令,java开发和接口集成。循序渐进,由浅入深,描述非常清晰,非常适合Hbase爱好者构建基础知识体系。内容包括四大部分:1.HBase组件和运行原理 2.环境搭建 ...

    HBase用户手册-v2.2.docx

    2.3 HBase的体系结构简介 8 2.4 HBase的访问方式 9 2.5 适用场景 9 3 HBase使用流程 10 3.1 流程图 10 4 使用约定 12 4.1 权限管理 12 4.2 命名规范 12 5 模型设计 13 5.1 相关概念 13 5.2 模型结构 13 5.3 设计原则...

    传智7天Hadoop培训视频

    课程安排: 01) Linux基础操作;02) 搭建伪分布实验环境;...08) 介绍HBase体系结构及基本操作;09) 介绍pig操作;10) 介绍Hive体系结构及基本操作;11) 介绍Sqoop操作;12) Flume操作;13) 论坛日志分析项目。

    揭开HBase的神秘面纱思维导图原件

    《HBase中文学习手册之揭开Hbase的神秘面纱》 文中的思维导图原件 ... 解压压缩包后可以获取文中的如下思维导图原件: 1. HBase的技术选型.xmind 2.HBase的前世今生.xmind ...4. HBase的体系结构.xmind

    妳那伊抹微笑_云计算之Hadoop完美笔记2.0

    Day6 介绍HBase体系结构及基本操作 Day7 介绍Hive、sqoop体系结构及基本操作和最后项目 源码分析 NameNode源码分析(RPC是基础) DataNode源码分析 FileSystem源码分析(如何与NameNode通信ClientProtocol) ...

    详解Hadoop核心架构HDFS+MapReduce+Hbase+Hive

    通过对Hadoop分布式计算平台最...整个Hadoop的体系结构主要是通过HDFS来实现对分布式存储的底层支持,并通过MR来实现对分布式并行任务处理的程序支持。HDFS采用主从(Master/Slave)结构模型,一个HDFS集群是由一个Nam

    实验二:熟悉常用的HDFS操作

    (1)理解 HDFS在Hadoop体系结构中的角色。(2)熟练使用HDFS操作常用的 Shell命令。(3)熟悉HDFS操作常用的Java API。 A.2.2 实验平台 (1)操作系统:Linux(建议Ubuntu 16.04)。(2) Hadoop版本:2.7.1。 (3)JDK版本:1.7...

    hadoop2安装和常用shell命令

    hadoop2安装和常用shell命令,

    【推荐】超全的大数据知识体系总结资料合集(23份).zip

    HBase 知识体系最强总结 Hadoop知识体系最强宝典 Hadoop企业级调优手册 Flink知识体系保姆级总结 Flink面试八股文 最强最全面数仓建设规范指南(强烈推荐) 最强最全面的大数据SQL面试题和答案 数据结构与算法篇 数据...

Global site tag (gtag.js) - Google Analytics