《HBase企业应用开发实战》—— 1.3 HBase与Hadoop的关系

1.3 HBase与Hadoop的关系

HBase参考了Google的BigTable建模,且将下面三篇博文作为HBase实现的理论基础:
BigTable by Google(2006)
HBase and HDFS Locality by Lars George(2010)
No Relation:The Mixed Blessings of Non-Relational Databases by Ian Varley(2009)
从上面的博文列表中也可以看出,HBase和HDFS有着非常紧密的关系,更准确的说法是:HBase严重依赖Hadoop的HDFS组件,HBase使用HDFS作为底层存储系统。因此,如果要使用HBase,前提是首先必须有Hadoop系统。从后面第2章的HBase安装过程的讲解中也可以总结出这点。Hadoop的组件之一MapReduce可以直接访问HBase,但是,这不是必需的,因为HBase中最重要的访问方式是原生Java API,而不是MapReduce这样的批量操作方式。图1-2展示了HBase在Hadoop生态系统中的位置。

因为HBase底层依赖Hadoop,所以选择Hadoop版本对HBase部署很关键。表1-1显示了不同HBase发行版本所支持的Hadoop版本信息。基于HBase版本,应该选择合适的Hadoop版本,表1-1中是官方给出的HBase和Hadoop的版本支持矩阵。

表1-1中字母的含义如下。
S:经过测试的、支持的。
X:不支持。
NT:可以运行但测试不充分。
当然,并不是说只要满足表1-1中的版本匹配就万事大吉了,在考虑版本匹配的同时,也需要考虑一些其他因素,例如:
如果使用0.94.x运行在Hadoop 2.2.0版本上,需要重新编译0.94.x。
对于ZooKeeper的版本只需要跟HBase依赖库中的ZooKeeper保持一致即可。

时间: 2024-10-23 05:59:47

《HBase企业应用开发实战》—— 1.3 HBase与Hadoop的关系的相关文章

《HBase企业应用开发实战》—— 3.6 本章小结

前 言 为什么要写这本书 大数据是继云计算.物联网之后IT行业又一次颠覆性的技术革命.大数据在互联网.军事.金融.通信和物理学等领域已经有不少落地案例,而Hadoop技术的快速发展也引起业界广泛关注.可以说,现在Hadoop是大数据处理的关键技术,也是迄今为止,最成熟.应用最广泛的技术. HBase原型是Google的BigTable论文,从基因上讲,HBase已经是Hadoop生态系统不可或缺的一部分.HBase是完全开源的,同时存在多个版本,并且版本升级非常快,其学习成本比较高,学习周期比较

《HBase企业应用开发实战》—— 第1章 认识HBase

第1章 认识HBase 本章将介绍大数据背景和HBase的基本概念,从大数据引申到NoSQL,并阐述HBase出现的契机.随后,将介绍HBase的概念.发展历史.发行版本和基本特性.其中,HBase的核心功能模块将作为一个小节单独重点介绍,最后通过介绍HBase的使用场景和经典案例,让读者朋友能够清晰地了解HBase可以做什么.作为NoSQL家庭的一员,HBase的出现弥补了Hadoop只能离线批处理的不足,同时能够存储小文件,提供海量数据的随机检索,并保证一定的性能.而这些特性也完善了整个Ha

《HBase企业应用开发实战》—— 1.5 HBase的使用场景和经典案例

1.5 HBase的使用场景和经典案例 了解软件产品的最好方法是如何使用,解决什么问题以及如何适用于大型应用架构.接下来的内容将详细介绍一些业界成功使用HBase的场景.但是,不要认为HBase只能解决下面的这些使用场景,因为它是一个正在发展和完善的技术框架,根据使用场景进行的创新正驱动着系统的发展.下面是对HBase适用场景的一些抽象概括,从需求角度进行抽象,涵盖存储量级.性能.扩展.数据格式和关联关系等方面.存储大量的数据(PB级数据)且能保证良好的随机访问性能.需要很高的写吞吐量,瞬间写入

《HBase企业应用开发实战》—— 2.2 HBase运行模式

2.2 HBase运行模式 HBase有两种运行模式:单机模式和分布式模式.在默认情况下HBase运行在单机模式下,如果要运行分布式模式的HBase,需要编辑安装目录下conf文件夹中相关的配置文件. 不管运行在什么模式下,都需要编辑安装包的conf目录下的hbase-env.sh文件来告知HBase Java的安装路径.在这个文件中还可以设置HBase的运行环境,诸如Heap Size和其他有关JVM的选项,还有日志文件保存目录.进程优先级等.最重要的是设置JAVA_HOME指向Java安装的

《HBase企业应用开发实战》—— 2.4 HBase Shell工具使用

2.4 HBase Shell工具使用 可以通过命令行工具连接HBase,从而对HBase中的表进行基本操作,命令如下: $ ./bin/hbase shell 连接成功后将进入HBase的执行环境: HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 0.94.18, r157

《HBase企业应用开发实战》—— 第3章 数 据 模 型

第3章 数 据 模 型 在开始使用HBase之前非常有必要先学习HBase的特性,因此本章将介绍HBase的逻辑模型.物理模型和访问HBase的方法等.和传统的关系型数据库类似,HBase以表(Table)的方式组织数据,应用程序将数据存入HBase的表中.HBase的表由行(Row)和列(Column)共同构成,与关系型数据库不同的是HBase有一个列族(Column Family)的概念,它将一列或者多列组织在一起,HBase的列必须属于某一个列族.行和列的交叉点称为单元格(Cell),单元

《HBase企业应用开发实战》—— 1.2 HBase是什么

1.2 HBase是什么 HBase(Hadoop Database)是一个高可靠.高性能.面向列.可伸缩的分布式数据库,利用HBase技术可在廉价PC上搭建起大规模结构化存储集群.HBase参考Google的BigTable建模,使用类似GFS的HDFS作为底层文件存储系统,在其上可以运行MapReduce批量处理数据,使用ZooKeeper作为协同服务组件. HBase的整个项目使用Java语言实现,它是Apache基金会的Hadoop项目的一部分,既是模仿Google BigTable的开

《HBase企业应用开发实战》—— 2.1 先决条件

2.1 先决条件 在开始安装HBase之前需要做一些准备工作,这涉及操作系统设置.分布式模式Hadoop的部署及HBase自身的配置,因此要确保在运行HBase之前这些条件已经具备.以下将介绍HBase依赖的一些重要的中间件.系统服务或配置. 1.?运行时环境JDK 和Hadoop一样,HBase需要JDK1.6或者更高版本,推荐采用Oracle公司的版本,对于JDK1.6不要使用u18及以前的版本,因为这些版本Java的垃圾收集器会遇到"jvm crash"的问题(可以通过Goolg

《HBase企业应用开发实战》—— 1.4 HBase的核心功能模块

1.4 HBase的核心功能模块 Hadoop框架包含两个核心组件:HDFS和MapReduce,其中HDFS是文件存储系统,负责数据存储:MapReduce是计算框架,负责数据计算.它们之间分工明确.低度耦合.相关关联.对于HBase数据库的核心组件,即核心功能模块共有4个,它们分别是:客户端Client.协调服务模块ZooKeeper.主节点HMaster和Region节点RegionServer,这些组件的描述和相互之间的关联关系如图1-3所示. 1.4.1 客户端Client 客户端Cl