详谈HBase框架图

详谈HBase框架图
在这里插入图片描述最底层是HDFS,HBase是基于HDFS上构建的框架。

DATa Node是管理在Linux系统上的文件夹,(习惯上称作实际的存储框架就DATa Node(是Java进程),实际上是不能存储的,其实是管理数据的地方)

上层是HBase,HBase还要依赖于Zoo’eKeeper,所以在启动HBase之前就要先启动ZooKeeper和Hadoop。

HBase里面有一个HMaster(高可用),是管理整个集群的作用。HMaster会将高可用的信息存到ZooKeeper

HRegionServer就相当于HDFS里面的DataNote的作用是一样的(实际存储业务的地方)也是java进程

HRegionServer里面有一个HLog,HLog就是一个操作日志(一个Region Server里面只有一个HLog),HLog相当于一个操作日志,提前把数据保存在磁盘(其实就是保存在HDFS上面),防止数据丢失。先执行HLog后执行MemStore。

GRegionServer里面还有一个HRegion(就是MySQL中的一张一张表,一个HRegion就是一张表)当数据特别大时,一张表就会切分,这时候,一张表就会对应多个HRegion。

HRegion里面会有Store一个Store就对应一个列族,一张表里面可以有多个列族)

在HBase中会将不同的列族分开存储的,所以就会有多个Store。

Store(列族)里面会分成多个小的Store称作MemStore(内存级别的存储:内存容量有限(不安全),要把数据存到磁盘(硬盘)里面)

Sotre里面还有一些StoreFile(磁盘里面),一个Store File就是一个一个MenStore刷写下来的File文件

Store File里面还会有HFile,数据就是以HFile(HFile是一种存储格式)格式存储在HDFS上面的

最终StoreFile是以HFile形式存储在DataNode上面的,最终也就是存在Linux本地的文件系统上面。

小结:

在这里插入图片描述
上面的全部主导都是HMaster协调这些事情来做的

开始是由Client(客户端)触发读写请求的

主要核心的两个进程(1)HMaster:整体管理集群的(管理HRegionServer工作的,协调整个数据的负载均衡)(2)**HRegionServer:**实际的工作者

HRegion达到一定数据量的时候,按照数据量平均切分。
Client访问顺序:先内存后磁盘

触发Flash的三种情况:
1)HRegionServer整个内存达到40%也会触发
2)MemStore任意数据存储一小时了也会触发
3)HRegion所有内存相加超过128MG也会触发

HBase主要的目的就是可以在HDFS上实现随机读写

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值