对hbase的一些名称解释和个人理解

HBase架构中的名称解释
***client
*访问HBase数据库的表的用户
*读、写
***zookeeper
*是client访问HBase的入口
*存储元数据表meta的位置
***HMaster
*对region进行负载均衡
*不参与HBase表数据的读写
**HRegionServer
*管理当前服务器上面的region
*响应客户端数据访问请求
*同一台服务器会有多个HRegion
*每张表会有多个Region
*当表刚被创建的时候默认只有一个Region(当达到一定阈值region会分裂)
***HRegion
*每张表对应多个region,这些region会被分配到不同的regionserver
上去管理
*同一个HRegion又有多个store,每一个store对应了一个列簇的存储
*每个Store包含了memstore和storefile
***memstore
*内存缓冲区,用来写入数据的时候对数据进行缓存(暂存)
***storefile
*memstore达到一定阈值的时候会把memstore的数据写成storefile文件
*storefile文件达到一定阈值会分裂,之后存储数据文件
***Hfile
*HLOG(记录元数据)
**WAL(HBase预写机制)
二进制文件
功能:防止regionserver服务器意外宕机,数据丢失{memstore}
***hadoop

		利用hdfs给HBase提供存储(storefile[hfile])

===============================
一张表有几个region,每个region就有startkey和endkey范围
***HDFS上面存储HBase两类
*HFile
Hbase中key-value数据的存储格式
是Hadoop的二进制文件
*HLOG
Hbase中WAL
=读写流程========
HBase读数据流程:–根据row key 去查询
**1.client先去访问zookeeper,从ZK里获取meta表所在的位置信息[meta表也是被regionserver管理的]
**2.client向这台regionserver发起访问,从meta表中获取元数据
**3.client找到当前需要访问的数据对应的region以及regionserver[ip]
**4.client向这台regionserver发起访问请求
**5.regionserver收到client访问请求,扫描memstore,再去storefile[hdfs]查询数据
**6.regionserver把数据响应给client
HBase写数据流程:–根据rowkey
put ‘user’,‘1001’,‘info:name’,‘value’
**1.client先访问zookeeper,找到meta表,并获取meta表中元数据
**2.确认当前写入数据对应的region,和regionserver服务器
**3.client向这台regionserver服务器发起写入请求
**4。regionserver收到client请求,并相应
**5.client先把数据写入到HLOG,防止数据丢失
**6.再把输入写入到memstore,内存缓存区,默认值128M
**7.当HLOG与memstore都写入成功,那么这条数据也写入成功了
**8.当memstore达到阈值[128M],会把memstore里面的数据Flush进storefile中
**9.当stroefile变多的时候会触发Compact合并操作,并把多个storefile合并成一个大的storefile
**10.当storefile[region]越来越大,达到阈值,会触发split操作,region被分裂(一分为二)
HBase中三个重要的机制:
***Flush
当memstore达到128M阈值,会把memstore里面的数据flush进storefile中
***Compact机制
把小的storefile文件合并成大的storefile,因为同一个rowkey
会始终合并成一个storefile
***split机制
当region达到阈值[256M],会把region一分为二

hbase存储数据类似于单元格存储,一个(行键,列簇)对应一个单元格,单元格内存放的是一块数据(比如一个人的个人信息等(name,age,sex…))。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值