深入理解HBase系统架构

本文深入探讨HBase系统架构,包括数据分布模型、Zookeeper的作用、RegionServer的组成、数据写入和读取过程。HBase数据逻辑分布由rowkey映射到region,物理分布是region到region server。Zookeeper负责Master选举和META表路由信息。RegionServer包含MemStore、WAL和HFile等组件。数据写入先写入WAL再持久化到HFile,读取时合并BlockCache、MemStore和HFile的KeyValues。
摘要由CSDN通过智能技术生成

一、写在前面

最近在整理HBase相关的资料,发现国外一篇通俗易懂、深入浅出的博客介绍了HBase系统架构。本文摘录部分核心内容,欢迎有兴趣的读者点击这里查看原文。在阅读本文前,读者可以尝试回答以下几个问题:

  • HBase数据存储分布
  • Zookeeper的作用
  • 数据写入过程
  • 数据读取过程
  • 为什么rowkey长度不要太长
  • HBase有哪些缓存
  • HBase有哪些索引

如果对上述问题你的回答不够肯定,那么相信你适合阅读本文。

二、HBase系统架构

1. 数据分布模型

HBase数据分布包括两个层次,第一层是rowkey映射到region,第二层是region映射到region server。数据按rowkey划分到region,称作数据的逻辑分布;region划分到region server,称作数据的物理分布

在这里插入图片描述

数据的逻辑分布,即rowkey和region的映射关系,存储在META表中。META表也存储在HBase组件中,META表本身的路由信息存储在Zookeeper中。我们可以在HBase shell查看meta表的内容:

hbase(main):005:0> scan 'hbase:meta', {LIMIT => 2}
ROW                                              COLUMN+CELL
 {TABLE_1},,1523349450016.c6522f2 column=info:regioninfo, timestamp=1523349448880, value={ENCODED => c6522f24717378b8edd013463b9282d9, NAME => 'KOL_PANEL_ARTICLE_201701,,152334
 4717378b8edd013463b9282d9.                      9450016.c6522f24717378b8edd013463b9282d9.
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值