HBase工作法则:Hadoop体系结构的一部分
发布时间:2021-06-05 10:27:29 所属栏目:大数据 来源:互联网
导读:1.引言 HBase是一种高可靠性,高性能,面向列的可扩展分布式存储系统,它使用HBase技术在廉价的PC服务器上构建大规模结构化存储集群。 HBase的目标是存储和处理大量数据,特别是仅使用标准硬件配置即可处理包含数千行和列的大量数据。 与MapReduce的离线批量
|
1.引言
HBase是一种高可靠性,高性能,面向列的可扩展分布式存储系统,它使用HBase技术在廉价的PC服务器上构建大规模结构化存储集群。 HBase的目标是存储和处理大量数据,特别是仅使用标准硬件配置即可处理包含数千行和列的大量数据。
与MapReduce的离线批量计算框架不同,HBase是随机访问存储和检索数据平台,弥补了HDFS无法随机访问数据的缺点。
它适用于实时性要求不高的业务场景-HBase存储Byte数组,该数组不介意数据类型,从而允许动态,灵活的数据模型。
HBase工作原理:Hadoop体系结构的一部分
> Hadoop Ecosystem (Credit: Edureka.com)
上图描绘了Hadoop 2.0生态系统的各个层-位于结构化存储层上的Hbase。
HDFS为HBase提供了高可靠性的低级存储支持。
MapReduce为HBase提供了高性能的批处理功能。 ZooKeeper为HBase提供稳定的服务和故障转移机制。 Pig和Hive为数据统计处理的高级语言支持提供了HBase,Sqoop为HDB提供了可用的RDBMS数据导入功能,这使得从传统数据库到HBase的业务数据迁移非常方便。
2. HBase架构
2.1设计Idea
HBase是一个分布式数据库,使用ZooKeeper来管理群集和HDFS作为基础存储。
在体系结构级别,它由HMaster(由Zookeeper选择的领导者)和多个HRegionServers组成。
下图显示了基础架构:
HBase工作原理:Hadoop体系结构的一部分
在HBase的概念中,HRegionServer对应于群集中的一个节点,一个HRegionServer负责管理多个HRegion,一个HRegion代表表数据的一部分。
在HBase中,一个表可能需要很多HRegion来存储数据,并且每个HRegion中的数据都不会杂乱无章。
当HBase管理HRegion时,它将为每个HRegion定义一定范围的Rowkey。 属于定义范围的数据将被移交给特定区域,从而将负载分配给多个节点,从而利用分布和特性的优势。
同样,HBase将自动调整区域的位置。 如果HRegionServer过热,即大量请求落在HRegionServer管理的HRegion上,则HBase会将HRegion移动到相对空闲的其他节点,以确保充分利用群集环境。
2.2基本架构
HBase由HMaster和HRegionServer组成,并且遵循主从服务器体系结构。 HBase将逻辑表分为多个数据块HRegion,并将它们存储在HRegionServer中。
HMaster负责管理所有HRegionServer。 它本身不存储任何数据,而仅存储数据到HRegionServer的映射(元数据)。
群集中的所有节点均由Zookeeper协调,并处理HBase操作期间可能遇到的各种问题。 HBase的基本架构如下所示:
HBase工作原理:Hadoop体系结构的一部分
客户端:使用HBase的RPC机制与HMaster和HRegionServer通信,提交请求并获得结果。 对于管理操作,客户端使用HMaster执行RPC。 对于数据读取和写入操作,客户端使用HRegionServer执行RPC。
Zookeeper:通过将集群中每个节点的状态信息注册到ZooKeeper,HMaster可以随时感知每个HRegionServer的健康状态,还可以避免HMaster的单点故障。
HMaster:管理所有HRegionServer,告诉他们需要维护哪些HRegion,并监视所有HRegionServer的运行状况。 当新的HRegionServer登录到HMaster时,HMaster告诉它等待数据分配。 当HRegion死亡时,HMaster将其负责的所有HRegion标记为未分配,然后将它们分配给其他HRegionServer。 HMaster没有单点问题。 HBase可以启动多个HMaster。 通过Zookeeper的选举机制,群集中始终有一个HMaster运行,从而提高了群集的可用性。
![]() (编辑:揭阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



