HBase简介-HBase企业应用实战读书笔记1
HBase简介-HBase企业应用实战读书笔记1
王水起 发表于4个月前
HBase简介-HBase企业应用实战读书笔记1
  • 发表于 4个月前
  • 阅读 0
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

一、HBase简介

  1. HBase的四大核心功能模块 客户端Client、协调服务模块ZooKeeper、主节点HMaster 和Region 节点RegionServer。
  1. 客户端Client Client是HBase系统的入口,使用RPC机制与HMaster和RegionServer通信。管理类操作,client使用RPC机制连接HMaster进行操作。数据读写类操作,client使用RPC机制连接RegionServer进行操作。客户端类型:JAVA、Thrift、Avro、Rest、Mapreduce等。

RPC机制:RPC机制基于传统的函数调用原理。在编程过程中,我们会将一个大功能分割成若干个小功能,每个小功能用一个函数实现,通过函数调用将这些函数连接起来。一般而言,这些函数必须运行在同一台机器中。而RPC机制提供了一种方法,它可以将函数分散到不同的机器中,允许机器A中的main函数调用机器B中的func4。

  1. 协调服务组件ZooKeeper Zookeeper负责管理HBase:存储HBase元数据信息,实时监控RegionServer、存储所有Region的寻址入口,HMaster选举(保证集群只有一个HMaster),服务器状态同步。

  2. HMaster HBase中可以启动多个HMaster,通过Zookeeper管理,保证只有一个Master正常运行并提供服务,其他节点备用,HMaster主要负责Table和Region的管理工作:  管理用户对table的增删改查操作  管理RegionServer的负载均衡,调整Region分布  Region分裂时,负责新Region的分布  RegionServer死机后,负责失效的RegionServer上的Region的迁移

  3. Region节点HRegionServer HBase中最核心的模块。负责响应用户IO请求,向HDFS文件系统中读写数据。HRegionServer内部管理了一系列HRegion对象,每个HRegion对应了Table 中的一个Region。HRegion由多个HStore组成,每个HStore(仓库)对应了Table中的一个ColumnFamily的存储。 HStore存储是HBase存储的核心,由两部分组成:MemStore和StoreFile。MemStore是SortedMemoryBuffer,用户写入的数据首先会放入MemStore中,当MemStore满了以后会缓冲(flush)成一个StoreFile(底层实现是HFile),当StoreFile文件数量增长到一定阈值,会触发Compact操作,将多个StoreFiles合并成一个StoreFile,在合并过程中会进行版本合并和数据删除,因此可以看出HBase其实只有增加数据,所有的更新和删除操作都是在后续的Compact过程中进行的,这使得用户的写操作只要进入内存中就可以立即返回,保证了HBaseI/O的高性能。

    写入数据时先写入缓存中(MEMStore),缓存增大到一定程度时,写成一个文件(StoreFile),当文件(StoreFiles)增加到一定程度时,会将多个文件合并成一个文件(compact),当一个Region上的StoreFiles增大道一定程度时,触发拆分操作,把一个Region分裂成2个Region,老Region下线。两个新Region由HMaster分发到对应的HRegionServer上。
    

HStore 仓库 MemStore 缓存仓库 StoreFile 仓库文件

  1. HBase应用场景  存储大量的数据(PB 级数据)且能保证良好的随机访问性能。  需要很高的写吞吐量,瞬间写入量很大,传统数据库不能支撑或需要很高成本支撑的场景。  可以进行优雅的数据扩展,动态扩展整个存储系统容量。  数据格式无限制,支持半结构化和非结构化的数据。  业务场景简单,不需要全部的关系型数据库特性,例如交叉列、交叉表,事务、连接等。
共有 人打赏支持
粉丝 0
博文 3
码字总数 1154
×
王水起
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: