每日积累【Day 3】Hbase架构深入学习

简介: 每日积累【Day 3】Hbase架构深入学习

Hbase架构深入学习

Hbase

Apache HBase建立在HDFS之上的分布式、基于列存储的非关系型数据库;具有可靠、稳定、自动容错、多版本等特性;HBase实际上是Google BigTable项目的开源实现,它适合海量大规模(数十亿行、数百万列)的结构化数据存储;当需要随机、实时读写访问大数据时,使用HBase;


架构

1.png

每个服务详解:

在整个Hbase架构中,采用的是Master/Slave架构,其组成部分包括Zookeeper集群,HMaster节点,HRegionServer节点,底层存储到Hdfs集群中。
Zookeeper的作用:管理多个HMaster保证只有一个HMaster处于Active状态,其余处于stanby状态;存储所有HRegion的访问地址入口,Zookerper中的Quorum节点存储表地址信息,HMaster地址;使用watch机制监控HRegionServer的上线和下线信息,并及时通知给HMaster;存放整个 HBase集群的元数据以及集群的状态信息;还有容错机制,active状态的Hmaster宕机或者出故障之后,将正常的Stanby状态节点切换为Active状态。
Hmaster作用:管理HRegionServer,实现HRegion的负载均衡;在Region切片后负责新的Region的分布,当某个HRegionServer退出时迁移其中的Hegion到其他HRegionServer中,管理用户对命名空间以及table的元数据(实际存储在HDFS上)。
HRegionServer作用:负责监控正在运行的HRegion,处理访问HRegion的IO请求,向HDFS中读写数据;负责切分运作过程中正在变大的HRegion,拆分机制为HRegion的大小 >= HRegion数量的平方 * 128MB时继续进行切分,当HRegion数量达到9时,之后的拆分大小为10GB;Client访问HBase中的数据只需要访问zookeeper中存储的相关元数据信息,直接访问HRegionServer进行数据的读写,HMaster仅仅维护了Table和Region的元数据,因此负载很低;
Client端:整个HBase集群的访问入口;使用HBase RPC机制与HMaster和HRegionServer进行通信;与HMaster进行通信进行管理表的操作;与HRegionServer进行数据读写类操作;包含访问HBase的接口,并维护cache来加快对HBase的访问
HRegion:是HBase根据rowkey切割后的产物,里面存储着切割后的StartKey和EndKey,由于rowkey是排序的,所以Client可以通过HMaster快速的定位每个RowKey在哪个HRegion中。
HRegionServer一般和DataNode在同一台机器上运行,实现数据的本地性。HRegionServer包含多个HRegion(0~1000)
HRegion由WAL(HLog)、store组成 Store由MemStore、StoreFile组成
HRegion由WAL(HLog)、store组成 Store由MemStore、StoreFile组成
Store是由列簇Column Family切分而成的
MemStore是一个写缓存(In Memory Sorted Buer),所有数据的写在完成WAL日志写后,会 写入MemStore中,由MemStore根据一定的算法将数据Flush到底层HDFS文件中(HFile),通常每个HRegion中的每个Column Family有一个自己的MemStore。


相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
存储 负载均衡 分布式数据库
bigdata-27-HBase架构与概念
bigdata-27-HBase架构与概念
74 1
|
1月前
|
存储 关系型数据库 数据库
个人学习ack-eci架构
针对无状态应用进行容器化改造,同时有应对高峰业务以及定时、批量计算任务对容器集群节点计算资源有高弹性低成本优化的需求的用户,利用云上资源的灵活性和规模化优势,构建云上高弹性、稳定、成本优化的服务。
46 0
|
8月前
|
设计模式 架构师 Java
阿里P8架构师都要学习研究的java加强版23种设计模式神级PDF文档
说在前面的话 Java作为老牌纯正的编程语言,在规范性上有着天然优势。因此本版的设计模式讲解全部用Java语言来描述,并针对Java语言的特性对讲解内容做了相当大的改动。 不知道大家是否听过编程界的一段话:掌握设计模式相当于华山派的"气宗",是程序员的内功修为,虽然在同样的学习时间下,类似Python这种"剑宗"的开发模式见效更快,但是长远来看,"气宗"才是走向软件架构师以上级别的必由之路。 所以,掌握气宗就掌握了编程命脉,然而学习设计模式有四大境界: 接下来给大家分享的就是java溢彩加强版大话设计模式包含的内容知识点。 总目录 主要内容 本文是百万销量的经典畅销书《
155 0
|
1月前
|
存储 弹性计算 安全
云计算——ACA学习 云计算架构
云计算——ACA学习 云计算架构
230 0
|
1月前
|
Kubernetes API 调度
Kubernetes学习-核心概念篇(二) 集群架构与组件
Kubernetes学习-核心概念篇(二) 集群架构与组件
|
1月前
|
架构师 算法 Java
阿里年薪百万的P7架构师简历都长什么样?他们都是怎么学习的?
我有一个朋友最近想从一个中型企业跳槽到大厂,目标瞄准了美团、滴滴、字节跳动等大厂,但投了简历,都石沉大海了!
|
1月前
|
负载均衡 应用服务中间件 Linux
深入浅出学习透析Nginx服务器的架构分析及原理分析「底层技术原理+运作架构机制」
深入浅出学习透析Nginx服务器的架构分析及原理分析「底层技术原理+运作架构机制」
91 0
|
1月前
|
消息中间件 缓存 Java
SpringBoot的架构学习之路
SpringBoot的架构学习之路
|
1月前
|
Java 调度 开发工具
SpringCloud【微服务架构进化论、微服务的拆分规范和原则、为什么选择Spring Cloud、什么是服务治理 】(一)-全面详解(学习总结---从入门到深化)
SpringCloud【微服务架构进化论、微服务的拆分规范和原则、为什么选择Spring Cloud、什么是服务治理 】(一)-全面详解(学习总结---从入门到深化)
227 0