Apache HBase的教程:HBase简介

Apache HBase的教程
我们的Apache HBase的教程将帮助您清楚地了解HBase。我们已经介绍了HBase的所有基本和高级概念。我们设计本教程的方式可以为初学者和专业人士提供帮助。

本教程将帮助您了解HBase的所有基本概念以及各种相关主题,例如 什么是HBase,HBase历史记录,HBase体系结构,HBase组件,为什么使用Hbase

先决条件

学习HBase的概念没有特殊要求。您只需要对使用终端和应用程序有一些基本的了解。但是,在Apache HBase的教程下,我们有一系列精心组织的主题,可以帮助您从头开始学习HBase概念。

听众

教程伴侣上的教程旨在帮助初学者和专业人士。我们的HBase教程将帮助初学者掌握HBase。

问题

我们的教程是由专业人士设计的,我们向您保证不会发现任何问题。如果有任何错误,我们要求您使用 联系表.

您将学到什么


什么是Apache HBase的?

Apache HBase的 是在HDFS之上运行的分布式,可伸缩,非关系(NoSQL)大数据存储。它是一个开源数据库,提供对Hadoop数据的实时读取/写入访问。它是面向列的并且可以水平扩展。 HBase的可以托管非常大的表,例如数十亿行和数百万列。它可以合并使用各种不同结构和方案的数据源。 HBase的能够存储从TB到PB的大量数据。

HBase的是一种类似于Google大表的数据模型,最初被称为Google Big Table。它支持快速随机访问大量结构化数据。之后,它被重命名为HBase,主要用Java编写。

HBase的的历史

HBase的教程-Apache Hbase的历史
The HBase的 story began 在 2006. The San Francisco-based startup Powerset started 加工 to build a natural language search engine for the Web. Then, 在 early 2007, 迈克·卡法雷拉(Mike Cafarela) 将三十多个Java文件的压缩文件放入Hadoop问题跟踪器,并添加:”I’为HBase(类似BigTable的文件存储)编写了一些代码。它’并不完美,但是’准备好让其他人玩耍并研究.

吉姆·凯勒曼(Jim Kellerman)接过麦克’s转储并开始处理差距。他添加了许多测试以使其成形,以便可以将其作为Hadoop的一部分提交。 Doug Cutting于2007年4月3日在contrib子目录下首次成功提交了HBase代码。后来,第一个HBase“working”该版本于2007年10月作为Hadoop 0.15.0的一部分捆绑在一起。HBase在2010年成为Apache的顶级项目。

Apache Hbase架构

Apache HBase的包含原始Google Bigtable论文的所有功能,例如内存中操作,Bloom过滤器, 和压缩。 MapReduce处理数据后,此数据库的组件既可以用作Hadoop生态系统上MapReduce作业的输入,也可以用作输出。可以通过Java API或REST API甚至Thrift和AVRO网关访问数据。

HBase的教程-Apache HBase的体系结构

HBase的是面向列的键值数据存储,可与Hadoop处理的数据配合使用。在执行读/写操作时,它相对较快,即使数据集很大,也不会降低质量。因此,由于其高性能和低输入/输出等待时间而被企业广泛使用。它不是SQL数据库的替代品,但是最好在HBase之上有一个SQL层。以便可以与各种商业智能和分析工具集成。

HBase的的组成

HMaster,HRegion地区 是HBase的主要组件。

大师

大师是一个主服务器,用于监视群集中的所有区域服务器。它将区域(表)分配给区域服务器,并处理多个区域服务器之间的负载平衡。

区域

区域 Server是一台从属服务器,负责服务和管理区域。每个区域服务器都有责任为一组区域提供服务。

地区

区域存储表数据的子集。如果一个表太大,该表将被划分为多个区域。

为什么要使用HBase?

HBase的通过在群集上运行来支持大量数据。 HBase的旨在同时访问和存储数据。数据自动分布在整个群集中。分片将不同的数据划分到多个服务器上。每个服务器都作为数据子集的源。一起访问分布式数据,这使缩放过程更快。

HBase的可以托管非常大的表,以进行交互式和批处理分析。存储多结构或稀疏数据是一个很好的选择。当需要对大数据进行随机,实时读写访问时,可以使用Apache HBase的。它与Hadoop本机集成,并且可以与其他数据访问引擎(例如, Apache Spark,Apache Hive和MapR数据库.

在任何流行的Web应用程序中,一个表都可能包含数十亿行。如果需要从如此大量的数据中搜索特定行,则HBase是理想的选择。大多数在线分析应用程序更喜欢HBase。许多传统的数据模型无法满足超大型数据库的性能要求,而Apache HBase的可以克服这些性能要求。

HBase的如何工作?

HBase的通过要求所有表都具有主键来线性缩放数据。密钥空间分布在顺序的块中,然后分配给一个区域。 地区Servers保留一个或多个区域,因此总负载在群集中平均分配。每当在一个区域内访问密钥时,HBase都可以通过再次拆分来进一步自动划分该区域,因此不需要手动数据分片。



HMaster和ZooKeeper服务器向客户端提供有关群集拓扑的信息。客户端进一步连接到这些客户端并下载RegionServer列表。 地区Servers由memstore组成,用于将频繁访问的行缓存在内存中。

HBase的的优势

它可以跨各种节点线性和模块化地扩展。它提供了无缝,快速的扩展以满足额外的需求。
它包含完全分布式的体系结构,并且可以处理超大规模数据。
它具有很高的安全性,并且可以轻松管理数据。
它提供了前所未有的高写入吞吐量。
它可以用于结构化和半结构化数据类型。
HBase的提供一致的读/写操作。
当你不穿的时候很好用’需要完整的RDBMS功能。
它提供原子读取和写入操作,这意味着在一次读取或写入操作期间;所有其他进程均停止进行任何读或写操作。
它支持用于客户端访问的Java API。
表分片易于配置和自动化。
客户端访问与Java API是无缝的。
它为非Java前端提供Thrift和REST API支持,该前端支持其他编码选项,例如XML,Protobuf和二进制数据编码。
块缓存和Bloom过滤器可以访问它,以进行实时查询和大量查询优化。
HBase的在区域服务器之间提供了自动故障支持。
它支持通过Hadoop指标子系统将指标导出到文件。
它没有’在数据中建立关系。
它支持通过随机访问来存储和检索数据。
可以使用HBase表备份MapReduce作业。

HBase的的缺点

HBase的不完全支持部分密钥。
在HBase中’很难存储大尺寸的二进制文件。
HBase的的存储提供了有限的实时查询和排序。
每个表只允许一个默认排序。
不同用户从Apache HBase的访问数据的安全性改进缓慢。
根据使用键值搜索表内容的范围查找和键查找,键值限制了实时执行的查询。
HBase的中不存在默认索引。程序员必须定义几行代码或脚本才能在HBase中执行索引功能。
就硬件要求和内存块分配而言,这是昂贵的。
当我们要将数据从RDBMS(关系数据库管理系统)外部源迁移到HBase服务器时,HBase将需要新的设计。

Hadoop / HDFS与HBase之间的区别

HDFS HBase的
它是一个 分布式文件系统,非常适合存储大型数据文件。 它是一个 建立在HDFS之上的数据库,可为大型平板电脑提供快速的记录查找(和更新)。
它不是 支持快速的个人记录查找。 HBase的 为大型表提供快速查找。
它具有很高的 延迟批处理支持。 HBase的 支持低延迟地随机访问数十亿条记录中的单行。
它提供 仅顺序访问数据。 HBase的 内部使用哈希表并提供随机访问权限,并存储数据 在索引的HDFS文件中,以加快查找速度。


Apache HBase的安装

如果已经安装了Hadoop和Java,则可以在Ubuntu上安装HBase。

下面给出了在独立模式下安装HBase的分步指南:

下载HBase

Step 1
使用链接下载HBase [1]:
链接: 点击这里
看起来像给定的屏幕截图。单击镜像站点[2]下载HBase。
HBase的教程-下载Apache HBase的 1

Step 2
选择您要下载的版本。总是喜欢下载最新版本
HBase的教程-下载Apache HBase的 2

Step 3
单击hbase-x.x.x-bin.tar.gz,HBase将开始下载其tar文件。将tar文件复制/粘贴到安装位置。
HBase的教程-下载Apache HBase的 3

安装过程

将hbase-x.x.x-bin.tar.gz放在/ home / hduser中

通过执行以下命令将其解压缩:

$tar -xvf hbase-x.x.x-bin.tar.gz 
滚动⇀

用于解压缩内容。它还将在/ home / hduser位置中创建一个hbase-x.x.x文件夹。 

HBase的教程-1

打开文件 hbase-env.sh 如下并提到 JAVA_HOME 位置中的路径。

HBase的教程-2

替换现有的 JAVA_HOME 值与您当前的值,如下所述:

export JAVA_HOME=/usr/lib/jvm/java-x.x.x
滚动⇀

打开文件〜/.bashrc 按照上述相同的方式进行更新 HBASE_HOME 路径为:

export HBASE_HOME=/home/hduser/hbase-x.x.x export PATH= $PATH:$HBASE_HOME/bin
滚动⇀

打开 hbase-site.xml 文件并更新配置中的以下属性:


<property>
<name>hbase.rootdir</name>
<value>file:///home/hduser/HBASE/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hduser/HBASE/zookeeper</value>
</property>
滚动⇀

按照这种方式,我们添加了两个属性:
1. 对于HBase根目录
2. 对于数据目录,对应于ZooKeeper

所有HBase和ZooKeeper活动都直接引用此hbase-site.xml文件。

现在,运行命令 启动hbase.shhbase-x.x.x / bin 启动HBase的位置。要检查HMaster是否正在运行,可以使用jps命令。

可以使用以下命令启动HBase Shell“HBase的的壳”命令,它将进入交互式shell模式,在这里我们可以执行所有类型的命令。 

概要

Hadoop deployment is extremely rising with each passing day, and HBase的 is the platform for 加工 on top of the HDFS. Upon learning HBase的, one can easily perform various operations, deploy Load Utility to load a file, 在tegrate it with Hive, and learn about the HBase的 API and the HBase的 Shell.

因此,在本Apache HBase的教程中,我们讨论了HBase的简要介绍。此外,我们看到了HBase的架构,组件,优势&缺点,以及对HBase的需求。

参考//hbase.apache.org/


订阅以获取所有最新更新!


最新教程



与我们博客

联系我们

像Facebook上的Tutorialsmate 在Facebook上关注Tutorialsmate 在Facebook上添加Tutorialsmate 在Facebook上订阅Tutorialsmate 在Facebook上关注Tutorialsmate 在Facebook上关注Tutorialsmate
Get tutorialsmate on Google Play
© 2020 教程伴侣。由...设计 教程伴侣