欢迎投稿

今日深度:

HBASE简介,

HBASE简介,


学习自:https://www.shiyanlou.com/courses/running

1 Hadoop EcoSystem中的各层系统:


其中
  HBase位于结构化存储层,
  Hadoop HDFS为HBase提供了高可靠性的底层存储支持,
  Hadoop MapReduce为HBase提供了高性能的计算能力,
  Zookeeper为HBase提供了稳定服务和failover机制。

此外
  Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。
  Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

2.HBASE历史

  Apache HBase最初是Powerset公司为了处理自然语言搜索产生的海量数据而开展的项目。

3. HBASE数据类型

  • 行健(Row Key):表的主键,表中的记录默认按照行健升序排序
  • 时间戳(Timestamp):每次数据操作对应的时间戳,可以看作是数据的版本号
  • 列族(Column Family):表在水平方向有一个或者多个列族组成,一个列族中可以由任意多个列组成,列族支持动态扩展,无需预先定义列的数量以及类型,所有列均以二进制格式存储,用户需要自行进行类型转换。所有的列族成员的前缀是相同的,例如“abc:a1”和“abc:a2”两个列都属于abc这个列族。
  • 表和区域(Table&Region):当表随着记录数不断增加而变大后,会逐渐分裂成多份,成为区域,一个区域是对表的水平划分,不同的区域会被Master分配给相应的RegionServer进行管理
  • 单元格(Cell):表存储数据的单元。由{行健,列(列族:标签),时间戳}唯一确定,其中的数据是没有类型的,以二进制的形式存储。

4.HBASE架构


如上图所示,HBase架构中只有一个Master节点,称HMaster,还有多台RegionServer成为HRegionServer,每个RegionServer包含多个Region。

  • HBase访问接口:Java,REST,Thrift等
  • Master:集群的管理服务器,为RegionServer分配Region,负责RegionServer的负载均衡,处理schema更新请求
  • RegionServer:管理HBase的数据存储,维护Region,处理IO请求。
  • Zookeeper:保证集群的高可用性、存储Region的寻址入口,并实时监控RegionServer的状态,存储HBase的Schema。

可以看到,client访问hbase上数据的过程并不需要Master参与(寻址访问Zookeeper和RegionServer,数据读写访问RegionServer),Master仅仅维护Table和Region的元数据信息,负载很低。

5. HBase存储格式

HBase中的所有数据文件都存储在Hadoop HDFS文件系统上,主要包括上述提出的两种文件类型:

  • HFile, HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile
  • HLogFile,HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File

6.应用场景

www.htsjk.Com true http://www.htsjk.com/hbase/41962.html NewsArticle HBASE简介, 学习自:https://www.shiyanlou.com/courses/running 1 Hadoop EcoSystem中的各层系统: 其中   HBase位于结构化存储层,   Hadoop HDFS为HBase提供了高可靠性的底层存储支持,   Hadoop M...
相关文章
    暂无相关文章
评论暂时关闭