深入理解HBASE(3.1)RegionServer-简介

RegionServer作用与组件

• 响应client的读写请求,进行I/O操作(直接绕过HMaster)
• 与HDFS交互,管理table数据
• 当Region的大小到达阀值时切分Region
• 管理一个或者多个region


BlockCache、WAL、Region

BlockCache

• 读缓存,数据被读取之后仍然缓存在内存中
• 有LruBlockCache(效率较高,GC压力大)和BucketCache(效率较低,没有GC压力)两种BlockCache,默
认为LruBlockCache
• 每个RegionServer中只有一个BlockCache实例

Block

  • HBase读写中的最小单元
  • 有四种类型的block:DATA、INDEX、BLOOM和META
    -- DATA:存储用户数据
    -- INDEX:用于提高读取速度,为DATA BLOCK中的cell建立索引
    -- BLOOM:用于提高读取速度,用bloom filter过滤掉不包含需求数据的block
    -- META:存储HFile本身数据和元数据

WAL:Write Ahead Log

• 为一个文件
• 0.94之前叫做HLog,存储在/hbase/.logs/目录中
• 0.94之后存储在HDFS上的/hbase/WALs/{HRegionServer_name}中
• 记录RegionServer上的所有编辑信息(Puts/Deletes操作,属于哪个Region),在写到memstore之前
• 理论上一个RegionServer上只有一个WAL实例,数据操作为串行,造成性能瓶颈
多WAL实例
HBase1.0 之后,通过使用底层HDFS的多管道实现了多WAL并行写入,提高了吞吐量
并行化是通过对多个Region进行分区实现的,如果只有一个Region,那么该方案无效
通过在hbase-site.xml中配置,然后重启RegionServer

用于RegionServer失效时,通过Replay恢复RegionServer上memstore中尚未持久化的数据

Region

Region是表获取和分布的基本元素,由每个列族的一个Store组成,稍后单独再表

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HBase存储架构图 HBase Master 为Region server分配region 负责Region s...
    kimibob阅读 10,917评论 0 52
  • HBase那些事 @(大数据工程学院)[HBase, Hadoop, 优化, HadoopChen, hbase]...
    分痴阅读 9,409评论 3 17
  • 初次接触HBase的读者,建议先阅读浅析HBase:为高效的可扩展大规模分布式系统而生 HBase的构成 物理上来...
    耀凯考前突击大师阅读 10,649评论 0 12
  • HBase架构的组成 HBase大体上按照master-slave架构可以分解成三种类型的服务。Region se...
    期待现在阅读 4,647评论 0 4
  • 1,从本篇文章/音频/视频中我学到的最重要的概念 学文章先找中心句,记得才会更深刻 2,我在本片文章/音频/视频中...
    啊哈处阅读 2,481评论 0 0