Hbase整体架构剖析

概念

Hbase是一个开源的、面向列的、稀疏的、适合存储海量非结构化和半结构化的、具备高性能、高可靠性、可灵活扩展的、支持实时数据读写的分布式数据储存系统。

典型特征:

  • 大表:一个表可以有上亿行,上百万个列;
  • 面向列:面向列(族)的存储、检索和权限控制;
  • 稀疏:表中为空(null)的列不占用存储空间。
  • 数据类型单一:HBase 中的数据类型只有一种String

  • 无模式:每行数据对应的列可以不相同,创建表时不需要指定列,插入数据时列可以任意添加

  • 数据多版本:列中的数据可以有多个版本,查询时可以通过指定版本号获取(版本号不同,获取到的数据不同)

Hadoop EcoSystem生态系统

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

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

HBase访问接口 

 

  1. Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据
  2. HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用
  3. Thrift Gateway,利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据
  4. REST Gateway,支持REST 风格的Http API访问HBase, 解除了语言限制
  5.  Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似,本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计
  6. Hive,当前Hive的Release版本尚没有加入对HBase的支持,但在下一个版本Hive 0.7.0中将会支持HBase,可以使用类似SQL语言来访问HBase

 

Hbase集群典型部署

  • Master:又叫HMaster,负责Hbase中的Table和Region的管理,包括:表的增删改查、Region Server的负责均衡、Region的分布调整、Region的分裂以及分裂后Region的分配、Region Server失效后Region的迁移;
  • zookeeper cluster:存储root表的地址和Master地址,Region Server 主动向zookeeper注册,使得master可以随时感知Region Server的健康状态,避免Master单点故障;
  • Region Server:负责数据路由、数据读写和数据持久化,是Hbase的数据处理和计算单元,同时还负责区域分割。Region Server要求和HDFS的datanode一起部署。
  • HDFS:代表HDFS集群,Hbase的数据最终存储在DataNode的块(block)上。

 Hbase的系统架构

各个组件的作用如下:

  • Client

Client 数量为一个或多个,HBase Client 使用 HBase 的 RPC 机制与HMaster和HRegionServer进行通信。

  1. 对于管理类操作Client与HMaster进行RPC通信
  2. 对于数据读写操作Client与HRegionServer进行RPC通信
  • Zookeeper
  1. 保证集群中只有一个正在运行的HMaster,如果HMaster挂了,通过Zookeeper的选举机制保证集群中总有一个HMaster运行,避免单点问题
  2. 通过将集群各节点状态信息注册到Zookeeper中,使得HMaster可随时感知各个HRegionServer的健康状态
  • HMaster
  1. 为HRegionServer分配Region,调整Region的分布,管理HRegionServer的负载均衡
  2. HMaster中记录了Region在哪台Hregion server上,它管理所有的HRegionServer并告诉HRegionServer维护那些Region
  3. 在HRegion Server宕机后,将失效HRegion Server 上的Regions迁移到其它的HR
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值