Hbase架构原理

Hbase架构说明

hbase架构说明

在这里插入图片描述

  • Hregionserver
    • 什么组织成的一个Region?
    1. 多个rowkey组织成一个region。如果一张表中存在多个region,那么每一个region表示表中的某一部分。
    1. 一张表的region,可以分布到不同的HregionServer中。
    2. 在默认情况下,region只有一个,但是随着数据的增加,region会逐渐增多。每一个region中的数据是顺序的(字典排序)

在这里插入图片描述

  • 为什么要让HRegionServer和DataNode在同一台服务器上?

    1. 因为HBase中的真实数据是存储在HDFS上,如果在同一台的话,可以节省传输时间(也称为数据的本地化访问)
    2. 在一个HRegion中可以有至少一个Store的存在。store的内容可以存储在不同的HRegionServer中。
  • HBase可以有多个列族,但是只建议使用一个列族?

    1. 原因就是,store对应一个列族,但是store可以放在不同的HRegionServer中,所以如果用户跨列族访问,将有可能读取一行数据的时候需要访问多台的HRegionServer.
  • memstore

    1. 当用户put一条数据的时候,该数据会被先放到memstore中,当值达到一定的大小的时候,会flush成一个storefile文件。如:我们向Hbase中put多条数据的时候(在一张新表当中)你的HDFS上将没有任何的内容。
    2. Hfile:意思和StoreFile代表的是同一个东西,只是在Hbase中叫StoreFile,持久化之后叫Hfile。
    3. Hfile的产生:(1)memstore的大小达到指定的值的时候,会生成一个Hfile。(2)用户手动执行flush操作,将会生成一个Hfile。(3)用户执行stop-hbase.sh的时候.(4)当memstore挂掉的时候(掉电),有数据丢失的话,将会从Hlog中拿取数据出来,写入成一个HFile
  • 断电处理

    1. 当用户在写入数据的时候,需要同时写入到memstore和Hlog都成功的时候,用户才能够看到操作成功。 一般情况下HLog的写入速度是高于HFILE。在整个架构中,如果一切正常的话,hlog将不会提供读取的作用。

    欢迎关注本人的公众号,不定期推送问答模式技术问题,并可随机参与抽奖
    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值