HBase的概述

本文介绍了HBase的特性,包括海量存储、列式存储、易扩展和高并发等。HBase的元数据存储在meta表中,由Zookeeper管理。HBase的组件包括HMaster负责Region分配和负载均衡,HRegionServer处理用户请求并管理Region。HDFS为HBase提供底层存储,而WAL、Region和StoreFile等机制确保了数据的可靠性和效率。

HBase的特点:

  • 海量存储(PB级别),
  • 列式存储(列族存储,列祖下面很多列),
  • 极易扩展,
  • 高并发,
  • 稀疏(在列族中,指定多列,列为空不会占用空间)。
    元数据:
  • HDFS:元数据指的是类似文件名、文件权限、文件所有者这样信息的记录。这些元数据存放到了image、edits编辑日志。
  • HIVE:元数据是指目录与表的对应,hdfs目录里面结构化文件中的列与表的字段对应关系,这些元数据存放到了mysql。
  • HBASE:hbase的表是由若干个region组成的,某一条数据肯定位于某个表的,那个表?需要记录一下,是存在于某个region之上的,哪个region?需要记录一下,这个region由哪个regionserver管理,也需要记录一下,这些记录就是元数据,这些元数据存放到hbase的meta表,meta是由regionserver维护的,哪个呢?zookeeper记录着meta在哪个reginserver上。
    体现出了zookeeper的什么作用呢?它掌管着元数据的入口。

列族:column family,列的分类,是一组列,列族是表约束的一部分,换言之,在创建表的时候一定要指定列族,而列可以在实际插入数据的时候指定。
rowkey:在hbase中插入数据时,一定要指定一个行键,类似于mysql里面的id,用于唯一标识记录的唯一性。(创建表的时候一定要指定列族,插入数据的时候一定要指定一个行键)

HMaster
master节点的主要职责如下:

  • 为RegionServer分配Region
  • 维护整个集群的负载均衡
  • 维护集群的元数据信息
  • 发现失效的Region,并将失效的Region分配到正常的RegionServer上
  • 当RegionSever失效的时候,协调对应Hlog的拆分

功能:
1.监控RegionServer
2.处理RegionServer故障转移
3.处理元数据的变更
4.处理region的分配或转移
5.在空闲时间进行数据的负载均衡
6.通过Zookeeper发布元数据的位置给客户端
HRegionServer
HRegionServer直接对接用户的读写请求,是真正的“干活”的节点。它的功能概括如下:

  • 管理master为其分配的Region
  • 处理来自客户端的读写请求
  • 负责和底层HDFS的交互,存储数据到HDFS
  • 负责Region变大以后的拆分
  • 负责Storefile的合并工作

功能:
1.负责存储HBase的实际数据
2.处理分配给它的Region
3.刷新缓存到HDFS
4.维护Hlog(每个regionserver都有一个Hlog)
5.执行压缩
6.负责处理Region分片(自动分片)
HDFS
HDFS为HBase提供最终的底层数据存储服务,同时为HBase提供高可用(Hlog存在HDFS)的支持,具体功能概括如下:

  • 提供元数据和表数据的底层分布式存储服务
  • 数据多副本,保证高可靠和高可用性

其他组件
1.Write-Ahead logs(WAL,HLOG&edits日志)
HBase的修改记录,当对HBase读写数据的时候,数据不是直接写进磁盘,它会在内存中保留一段时间(时间以及数据量阈值可以设定)。但把数据保存在内存中可能有更高的概率引起数据丢失,为了解决这个问题,数据会先写在一个叫做Write-Ahead logfile的文件中,然后再写入内存中。所以在系统出现故障的时候,数据可以通过这个日志文件重建。
2.Region
HBase表的分片,HBase表会根据RowKey值被切分成不同的region存储在RegionServer中,在一个RegionServer中可以有多个不同的region。
3.Store
HFile存储在Store中,一个Store对应HBase表中的一个列族。
4.MemStore
顾名思义,就是内存存储,位于内存中,用来保存当前的数据操作,所以当数据保存在WAL中之后,RegsionServer会在内存中存储键值对。
5.HFile
这是在磁盘上保存原始数据的实际的物理文件,是实际的存储文件。StoreFile是以HFile的形式存储在HDFS的。
6.StoreFile
HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值