版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲:张义0102目录HBase系统架构HBase工作流程HBase系统架构1HBase系统架构HBase系统架构
从HBase的架构图上可以看出,HBase中的组件包括Client、Zookeeper、HMaster、HRegionServer、HRegion、Store、MemStore、StoreFile、HFile、HLog等,接下来介绍他们的作用。HBase中的每张表都通过行键按照一定的范围被分割成多个子表(HRegion),默认一个HRegion超过256M就要被分割成两个,这个过程由HRegionServer管理,而HRegion的分配由HMaster管理。Client
包含访问HBase的接口,并维护cache来加快对HBase的访问。Zookeeper
HBase依赖Zookeeper,默认情况下HBase管理Zookeeper实例(启动或关闭Zookeeper),Master与RegionServers启动时会向Zookeeper注册。
保证任何时候,集群中只有一个master
实时监控Regionserver的上线和下线信息,并实时通知给master。
存储HBase的schema和table元数据。HBase系统架构
HMaster
为Regionserver分配region
负责Regionserver的负载均衡
发现失效的Regionserver并重新分配其上的region。
处理schema更新请求。HRegionServer
维护master分配给他的region,处理对这些region的io请求。
负责切分正在运行过程中变的过大的region。
注意:client访问hbase上的数据时不需要master的参与,因为数据寻址访问zookeeper和regionserver,而数据读写访问regionserver。master仅仅维护table和region的元数据信息,而table的元数据信息保存在zookeeper上,因此master负载很低HBase系统架构HRegion
table在行的方向上分隔为多个Region。Region是HBase中分布式存储和负载均衡的最小单元,即不同的region可以分别在不同的RegionServer上,但同一个Region是不会拆分到多个server上。
Region按大小分隔,每个表一般是只有一个region。随着数据不断插入表,region不断增大,当region的某个列族达到一个阈值时就会分成两个新的region。
每个region由以下信息标识:<表名,startRowkey,创建时间>
由目录表(-ROOT-和.META.)记录该region的endRowkeyStore
每一个region由一个或多个store组成,至少是一个store,hbase会把一起访问的数据放在一个store里面,即为每个ColumnFamily建一个store,如果有几个ColumnFamily,也就有几个Store。一个Store由一个memStore和0或者多个StoreFile组成。HBase以store的大小来判断是否需要切分regionHBase系统架构MemStore
memStore是放在内存里的。保存修改的数据即keyValues。当memStore的大小达到一个阀值(默认128MB)时,memStore会被flush到文件,即生成一个快照。目前hbase会有一个线程来负责memStore的flush操作。StoreFile
memStore内存中的数据写到文件后就是StoreFile,StoreFile底层是以HFile的格式保存。HfileHBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对Hfile做了轻量级包装,即StoreFile底层就是Hfile。HBase系统架构HLog
HLog(WALlog):WAL意为writeaheadlog,用来做灾难恢复使用,HLog记录数据的所有变更,一旦regionserver宕机,就可以从log中进行恢复。HBase工作流程2HBase工作流程
HBase工作流程Client
首先当一个请求产生时,HBaseClient使用RPC(远程过程调用)机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写操作,Client与HRegionServer进行RPC。Zookeeper
HBaseClient使用RPC(远程过程调用)机制与HMaster和HRegionServer进行通信,但如何寻址呢?由于Zookeeper中存储了-ROOT-表的地址和HMaster的地址,所以需要先到Zookeeper上进行寻址。
HRegionServer也会把自己以Ephemeral方式注册到Zookeeper中,使HMaster可以随时感知到各个HRegionServer的健康状态。此外,Zookeeper也避免了HMaster的单点故障。
HBase工作流程HMaster
当用户需要进行Table和Region的管理工作时,就需要和HMaster进行通信。HBase中可以启动多个HMaster,通过Zookeeper的MasterEletion机制保证总有一个Master运行。
管理用户对Table的增删改查操作
管理HRegionServer的负载均衡,调整Region的分布
在RegionSplit后,负责新Region的分配
在HRegionServer停机后,负责失效HRegionServer上的Regions迁移HRegionServer
当用户需要对数据进行读写操作时,需要访问HRegionServer。HRegionServer存取一个子表时,会创建一个HRegion对象,然后对表的每个列族创建一个Store实例,每个Store都会有一个MemStore和0个或多个StoreFile与之对应,每个StoreFile都会对应一个HFile,HFile就是实际的存储文件。因此,一个HRegion有多少个列族就有多少个Store。一个HRegionServer会有多个HRegion和一个HLog。HBase工作流程注意:HStore存储由两部分组成:MemStore和StoreFiles。MemStore是SortedMemoryBuffer,用户写入数据首先会放在MemStore,当MemStore满了以后会Flush成一个StoreFile(实际存储在HDHS上的是HFile),当StoreFile文件数量增长到一定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2031年中国国库集中支付系统行业投资前景及策略咨询研究报告
- 二零二五版智能小区门窗定制与物业智能化运营合同3篇
- 2025年消防设备设施检测与总承包合同
- 二零二五版农产品出口合同食品安全标准规定3篇
- 2024-2030年中国超声波清洗液行业市场全景监测及投资前景展望报告
- 二零二五年度餐饮业节能改造工程合同6篇
- 二零二四年度专业技术人才引进与委托培养合同3篇
- 2025年中国电绝缘纸板行业市场深度分析及发展趋势预测报告
- 2025年LED七粒头灯项目投资可行性研究分析报告
- 2025年度零担运输合同电子签章实施规范4篇
- 2019级水电站动力设备专业三年制人才培养方案
- 室内装饰装修施工组织设计方案
- 洗浴中心活动方案
- 送电线路工程施工流程及组织措施
- 肝素诱导的血小板减少症培训课件
- 韩国文化特征课件
- 抖音认证承诺函
- 清洁剂知识培训课件
- 新技术知识及军事应用教案
- 高等数学(第二版)
- 肺炎喘嗽的中医护理常规
评论
0/150
提交评论