Hadoop中的HBase是什么?

时间:2020-02-23 14:33:28  来源:igfitidea点击:

Hadoop HBase基于Google BigTable(用于结构化数据的分布式数据库),该数据库是在Java中编写的。
Hadoop HBase于2007年由Apache软件基金会开发;那就是一个原型。

Hadoop HBase是一个开源,多维,面向列的分布式数据库,内置于HDF的顶部。
HBase已经具有HDFS的可扩展性,具有深度分析功能和实时数据访问作为MapReduce的键/值。
由于它是Hadoop生态系统的重要组成部分,它利用了HDFS的容错功能。

HBase旨在支持大表,其中缩放在分布式集群中水平完成。
缩放过程使HBase能够存储非常大的数据库表,其中行可能在数十亿和列中有数百万。
在Facebook Messenger中,整个非结构化和结构化数据处理由Hadoop HBase完成。

HBase提供了强大的一致性读取和写入数据功能,使其从其他数据库中脱颖而出,如RDMD和NoSQL。
HBase遵循相同的主/从架构,如HDFS,用于管理分发和处理数据表的区域服务器的主节点。

HBase的数据模型

HBase存储不同类型的数据,如不同的列大小和不同的字段大小。
已经在HBase布局中轻松完成群集中的分组和分布。
HBase数据模型包含不同的逻辑组件 -

  • HBase表 - 它是以逻辑方式集合,其存储在名为区域的不同分区中。
  • HBase行 - 它是由RowKey标识的数据实例。
  • Rowkey- rowkey用于通过索引标识HBase表中的每个条目。
  • 列 - 属性存储在每个RowKey中的无限数字中。
  • 列族 - 所有行都一起被分组为列族和HFile用于存储列。

HBase架构

HBase在提供随机读数时没有停机时间,并且它在HDF的顶部写入。
当数字变得太大而无法处理时,在HBase中使用自动分片。
该区域是HBase中的基础单元,其中完成了水平可伸缩性。
HBase架构基于主/从体系结构与Hadoop HDFS相同。
Hadoop HBase架构包含一个称为HMASTER的一个主节点,以及称为区域服务器的多个从节点。
每个从节点(区域服务器)用作一组区域。
区域服务器的唯一工作是为一个地区提供服务。
客户端请求HMASTER将并将HMASTER传递给相应的区域服务器。
它可以在多个设置上运行,但一次的活动主节点的数量将是一个。

Hadoop HBase组件

Hadoop HBase有三个重要组成部分,即:HMASTER HMASTER在HBase中称为"主服务器"。
它是一种轻量级过程,用于为负载平衡分配Hadoop集群中的区域服务器。
它管理表上的DDL操作。
HMASTER监控区域服务器。
当客户端想要更改结构或者想要更改元数据时,所有这些都由HMASTER完成。
为了确保最高的可用性,使用第二个HMASTER。

区域服务器

区域没有HBase表,通过使用行键水平划分,其目的是服务区域服务器。
区域服务器用于与客户端通信并管理所有相关操作。
来自客户端的所有读取和写入请求由区域服务器处理。
通过限制区域阈值的区域的大小也由区域服务器完成。

区域服务器还包含存储器和HFILE驻留的存储。
Memstore是最初在输入HBase时存储的位置。
处理后,数据以块的形式保存在HFiLe中,并刷新Memstore。

Zookeeper.

Zookeeper是一种开源项目,用于协调和同步分布式系统中的分布式系统。
ZooKeeper在发生故障时分配新区域,并且通过将它们加载到正常工作的其他区域服务器上完成任何区域服务器的恢复。
如果他想要任何与地区的通信,客户必须接近Zookeeper。

客户端需要访问第一个zookeeper仲裁,以便在区域服务器和hmaster之间建立连接,并且只有在zookeeper服务中注册区域服务器和hmaster时才会发生这种情况。
当群集中发生节点故障时,Zookeeper仲裁发送错误消息并开始修复它们。

跟踪群组中运行的所有区域服务器都由zookeeper完成。
Zookeeper提供代表各种区域服务器的截阵数。
HMASTER使用截半节节点来发现可用服务器。