Hbase工作机制

HBASE工作机制

1、图示如下:

在这里插入图片描述
2、组件说明

  • Client : hbase客户端,1.包含访问hbase的接口。比如,linux shell,java api。2.
    除此之外,它会维护缓存来加速访问hbase的速度。比如region的位置信息。
  • Zookeeper : 1.监控Hmaster的状态,保证有且仅有一个活跃的Hmaster。达到高可用。
    2.它可以存储所有region的寻址入口。如:root表在哪一台服务器上。3. 实时监控
    HregionServer的状态,感知HRegionServer的上下线信息,并实时通知给Hmaster。4. 存
    储hbase的部分元数据。
  • HMaster : 1. 为HRegionServer分配Region(新建表等)。2. 负责HRegionServer的负
    载均衡。3. 负责Region的重新分配(HRegionServer宕机之后的Region分配,HRegion裂
    变:当Region过大之后的拆分)。4. Hdfs上的垃圾回收。5. 处理schema的更新请求
  • HRegionServer :1. 维护HMaster分配给的Region(管理本机的Region)。2. 处理
    client对这些region的读写请求,并和HDFS进行交互。3. 负责切分在运行过程中组件变大的
    Region。
  • HLog : 1. 对HBase的操作进行记录,使用WAL写数据,优先写入log(put操作:先写日
    志再写memstore,这样可以防止数据丢失,即使丢失也可以回滚)。
  • HRegion : 1. HBase中分布式存储和负载均衡的最小单元,它是表或者表的一部分。
  • Store : 1. 相当于一个列簇
  • Memstore : 1. 内存缓冲区,用于将数据批量刷新到hdfs中,默认大小为128M
  • HStoreFile : 1.不过是一个逻辑概念。HBase中的数据是以HFile存储在Hdfs上。
    1
    3、组件之间的关系
    hmaster:hregionserver= 1 :多
    hregionserver:hregion=1 : 多
    hregionserver:hlog=1 : 1
    hregion:hstore=1 : 多
    store:memstore=1 : 1
    store:storefile=1 : 多
    storefile:hfile=1 : 1
    在这里插入图片描述
    4、总结
    rowkey:行键,和mysql的主键同理,不允许重复。
    columnfamily: 列簇,列的集合之意。
    column:列
    timestamp:时间戳,默认显示最新的时间戳,可用于控制k对应的多个版本值,默认查最新的
    数据
    version:版本号,表示记录数据的版本
    cell:单元格,kv就是cell
    模式:无
    数据类型:只存储byte[]
    多版本:每个值都可以有多个版本
    列式存储:一个列簇存储到一个目录
    稀疏存储:如果一个kv为null,不占用存储空间
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值