关于如何挑选适合自己的Hadoop平台解析

Hadoop平台的多种选择 

下图展示了Hadoop平台的多种选择。你可以只安装Apache 发布版本,或从不同提供商所提供的几个发行版本中选择一个,或决定使用某个大数据套件。每个发行版本都包含有Apache Hadoop,而几乎每个大数据套件都包含或使用了一个发行版本,理解这一点是很重要的。

下面我们首先从Apache Hadoop开始来好好看看每种选择。

Apache Hadoop; Apache Hadoop项目的目前版本(2.0版)含有以下模块
Hadoop通用模块:支持其他Hadoop模块的通用工具集。 
Hadoop分布式文件系统(HDFS):支持对应用数据高吞吐量访问的分布式文件系统。 
Hadoop YARN:用于作业调度和集群资源管理的框架。 
Hadoop MapReduce:基于YARN的大数据并行处理系统。 
在本地系统上独立安装Apache Hadoop是非常容易的(只需解压缩并设置某些环境变量,然后就可以开始使用了)。但是这只合适于入门和做一些基本的教程学习。

如果你想在一个或多个“真正的节点”上安装Apache Hadoop,那就复杂多了。

问题1:复杂的集群设置

你可以使用伪分布式模式在单个节点上模拟多节点的安装。你可以在单台服务器上模拟在多台不同服务器上的安装。就算是在该模式下,你也要做大量的配置工作。如果你想设置一个由几个节点组成的集群,毫无疑问,该过程就变得更为复杂了。要是你是一个新手管理员,那么你就不得不在用户权限、访问权限等诸如此类的问题中痛苦挣扎。

问题2: Hadoop生态系统的使用

在Apache中,所有项目之间都是相互独立的。这是很好的一点!不过Hadoop生态系统除了包含Hadoop外,还包含了很多其他Apache项目:

Pig:分析大数据集的一个平台,该平台由一种表达数据分析程序的高级语言和对这些程序进行评估的基础设施一起组成。 
Hive:用于Hadoop的一个数据仓库系统,它提供了类似于SQL的查询语言,通过使用该语言,可以方便地进行数据汇总,特定查询以及分析存放在Hadoop兼容文件系统中的大数据。 
Hbase:一种分布的、可伸缩的、大数据储存库,支持随机、实时读/写访问。 
Sqoop:为高效传输批量数据而设计的一种工具,其用于Apache Hadoop和结构化数据储存库如关系数据库之间的数据传输。 
Flume:一种分布式的、可靠的、可用的服务,其用于高效地搜集、汇总、移动大量日志数据。 
ZooKeeper:一种集中服务,其用于维护配置信息,命名,提供分布式同步,以及提供分组服务。

你需要安装这些项目,并手动地将它们集成到Hadoop中。

问题3:商业支持

Apache Hadoop只是一个开源项目。这当然有很多益处。你可以访问和更改源码。实际上有些公司使用并扩展了基础代码,还添加了新的特性。很多讨论、文章、博客和邮件列表中都提供了大量信息。

然而,真正的问题是如何获取像Apache Hadoop这样的开源项目的商业支持。公司通常只是为自己的产品提供支持,而不会为开源项目提供支持(不光是Hadoop项目,所有开源项目都面临这样的问题)。

何时使用Apache Hadoop

由于在本地系统上,只需10分钟左右就可完成其独立安装,所以Apache Hadoop很适合于第一次尝试。你可以试试WordCount示例(这是Hadoop的“hello world”示例),并浏览部分MapReduce的Java代码 。 如果你并不想使用一个“真正的”Hadoop发行版本(请看下一节)的话,那么选择Apache Hadoop也是正确的。然而,我没有理由不去使用Hadoop的一个发行版本——因为它们也有免费的、非商业版。

所以,对于真正的Hadoop项目来说,我强烈推荐使用一个Hadoop的发行版本来代替Apache Hadoop。下一节将会说明这种选择的优点。

Hadoop发行版本

Hadoop发行版本解决了在上一节中所提到的问题。发行版本提供商的商业模型百分之百地依赖于自己的发行版本。他们提供打包、工具和商业支持。而这些不仅极大地简化了开发,而且也极大地简化了操作。 Hadoop发行版本将Hadoop生态系统所包含的不同项目打包在一起。这就确保了所有使用到的版本都可以顺当地在一起工作。发行版本会定期发布,它包含了不同项目的版本更新。

发行版本的提供商在打包之上还提供了用于部署、管理和监控Hadoop集群的图形化工具。采用这种方式,可以更容易地设置、管理和监控复杂集群。节省了大量工作。 正如上节所提到的,获取普通Apache Hadoop项目的商业支持是很艰难的,而提供商却为自己的Hadoop发行版本提供了商业支持。

Hadoop发行版本提供商

目前,除了Apache Hadoop外, HortonWorks、Cloudera和MapR三驾马车在发布版本上差不多齐头并进。虽然,在此期间也出现了其他的Hadoop发行版本。比如EMC公司的Pivotal HD、IBM的InfoSphere BigInsights。通过Amazon Elastic MapReduce(EMR),Amazon甚至在其云上提供了一个托管的、预配置的解决方案。

虽然很多别的软件提供商没有开发自己的Hadoop发行版本,但它们和某一个发行版本提供商相互合作。举例来说,Microsoft和Hortonworks相互合作,特别是合作将Apache Hadoop引入到Windows Server操作系统和Windows Azure云服务中。另外一个例子是,Oracle通过将自己的软硬件与Cloudera的Hadoop发行版本结合到一起,提供一个大数据应用产品。而像SAP、Talend这样的软件提供商则同时支持几个不同的发行版本。

如何选择合适的Hadoop发行版本?

本文不会评估各个Hadoop的发行版本。然而,下面会简短地介绍下主要的发行版本提供商。在不同的发行版本之间一般只有一些细微的差别,而提供商则将这些差别视为秘诀和自己产品的与众不同之处。下面的列表解释了这些差别:

Cloudera:最成型的发行版本,拥有最多的部署案例。提供强大的部署、管理和监控工具。Cloudera开发并贡献了可实时处理大数据的Impala项目。 
Hortonworks:不拥有任何私有(非开源)修改地使用了100%开源Apache Hadoop的唯一提供商。Hortonworks是第一家使用了Apache HCatalog的元数据服务特性的提供商。并且,它们的Stinger开创性地极大地优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒。Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Windows Server和Windows Azure在内的Microsft Windows平台上本地运行。 
MapR:与竞争者相比,它使用了一些不同的概念,特别是为了获取更好的性能和易用性而支持本地Unix文件系统而不是HDFS(使用非开源的组件)。可以使用本地Unix命令来代替Hadoop命令。除此之外,MapR还凭借诸如快照、镜像或有状态的故障恢复之类的高可用性特性来与其他竞争者相区别。该公司也领导着Apache Drill项目,本项目是Google的Dremel的开源项目的重新实现,目的是在Hadoop数据上执行类似SQL的查询以提供实时处理。

为了做出正确的选择,请了解各个发行版本的概念并进行试用。请查证所提供的工具并分析企业版加上商业支持的总费用。在这之后,你就可以决定哪个发行版本是适合自己的。

何时使用Hadoop发行版本?

由于发行版本具有打包、工具和商业支持这些优点,所以在绝大多数使用情形下都应使用Hadoop的发行版本。使用普通的(原文为plan,应为plain)Apache Hadoop发布版本并在此基础之上构建自己的发行版本的情况是极少见的。你会要自己测试打包,构建自己的工具,并自己动手写补丁。其他一些人已经遇到了你将会遇到的同样问题。所以,请确信你有很好的理由不使用Hadoop发行版本。

然而,就算是Hadoop发行版本也需要付出很大的努力。你还是需要为自己的MapReduce作业编写大量代码,并将你所有的不同数据源集成到Hadoop中。而这就是大数据套件的切入点。

结论 

Hadoop安装有好几种选择。你可以只使用Apache Hadoop项目并从Hadoop生态系统中创建自己的发行版本。像Cloudera、Hortonworks或MapR这样的Hadoop发行版本提供商为了减少用户需要付出的工作,在Apache Hadoop之上添加了如工具、商业支持等特性。在Hadoop发行版本之上,为了使用如建模、代码生成、大数据作业调度、所有不同种类的数据源集成等附加特性,你可以使用一个大数据套件。一定要评估不同的选择来为自己的大数据项目做出正确的决策。

时间: 2024-10-24 20:38:03

关于如何挑选适合自己的Hadoop平台解析的相关文章

c#WEB转入大数据HADOOP平台的2014总结

浮浮沉沉的那是流水,起起落落的才是人生嘛. 抽根烟先--(各位同学都知道我不抽烟哈,这个,哈哈,思考人生的时候还是会抽根)刚刚和同学吃完饭从滨江路回来,我和他在一起一般都是谈谈自己的近况.我和他住得不远,上班离得很近,但是也不经常见面,但是需要对方的时候打个电话,总会在一个电话后及时出现在你的面前(搞得像基友一样,罪过,罪过).这个是必须的,我和他也算一种前世修来的缘份吧,认识马上快10年了,大学同学中,我是他在这里的唯一,他也是我在这里的唯一,也许这辈子剩下的时间还得走下去,生活中的坎坷我们互

高可用Hadoop平台-启航

1.概述 在上篇博客中,我们搭建了<配置高可用Hadoop平台>,接下来我们就可以驾着Hadoop这艘巨轮在大数据的海洋中遨游了.工欲善其事,必先利其器.是的,没错:我们开发需要有开发工具(IDE):本篇文章,我打算讲解如何搭建和使用开发环境,以及编写和讲解WordCount这个例子,给即将在Hadoop的海洋驰骋的童鞋入个门.上次,我在<网站日志统计案例分析与实现>中说会将源码放到Github,后来,我考虑了下,决定将<高可用的Hadoop平台>做一个系列,后面基于这

Hadoop平台的基本组成与生态系统

Hadoop系统运行于一个由普通商用服务器组成的计算集群上,该服务器集群在提供大规模分布式数据存储资源的同时,也提供大规模的并行化计算资源. 在大数据处理软件系统上,随着Apache Hadoop系统开源化的发展,在最初包含HDFS.MapReduce.HBase等基本子系统的基础上,至今Hadoop平台已经演进为一个包含很多相关子系统的完整的大数据处理生态系统.图1-15展示了Hadoop平台的基本组成与生态系统. 1.MapReduce并行计算框架 MapReduce并行计算框架是一个并行化

Hadoop平台基本组成

1.Hadoop系统运行于一个由普通商用服务器组成的计算集群上,能提供大规模分布式数据存储资源的同时,也提供了大规模的并行化计算资源. 2.Hadoop生态系统 3.MapReduce并行计算框架 MapReduce并行计算框架是一个并行化程序执行系统.它提供了一个包含Map和Reduce两个阶段的并行处理模型和过程,提供了一个并行化编程模型和接口,让程序员可以方便快速地编写出大数据并行处理程序.MapReduce以键值对数据输入方式来处理数据,并能自动完成数据的划分和调度管理. 在程序执行时,

Hadoop平台搭建(1)

摘要:本文主要讲述在Linux环境下搭建hadoop平台的准备工作,内容涵盖Linux中用户的添加与权限管理.更改软件源.更新软件安装工具apt.安装vim编辑器.安装SSH并配置无密码登录. 环境说明:文章中采用Ubuntu15.10操作系统,Ubuntu其他版本操作系统的操作类似,Linux其他系列操作系统适当做相应调整. 1.添加用户 对Linux环境下的开发,为了安全起见,一般情况下不直接在root用户下进行.所以,我们首先添加一个新的用户名,并设置新用户密码. 命令:sudo user

Hadoop平台简述

Hadoop 是 Apache 下一个开源的分布式的软件计算框架,它是由Doug Cutting根据 Google提出的分布式文件系统 GFS 和 MapReduce 编程模型而实现的.Hadoop 由许多部分组成,其核心是用于数据存储的分布式文件系统HDFS与用于分布式计算的 MapReduce 编程模型.HDFS 用于 Hadoop 平台中所有数据文件的存储,采用 master/slave 架构,包含一个名字节点(NameNode)和若干个数据节点(DataNode).MapReduce 主

论文学习 - 《Hadoop平台下的海量数据存储技术研究》

摘要 研究背景: 1. 互联网的图片数据急剧膨胀 2. Hadoop平台下的Hdfs分布式文件系统能够很好的处理海量数据 研究内容: 1. Hadoop平台工作原理 2. Hadoop平台下图片存储系统的设计与实现 3. Hadoop平台与Web的整合 创新点: 1. 通过Web方式来访问Hdfs 2. 存储性能测试自动化 第一章 绪论 Pass 第二章 Hadoop工作原理 本章可以参考对照Hadoop相关手册,不在此纠结. 第三章 Hadoop图片存储系统设计 模块划分: 1. 普通用户模块

如何挑选适合自己的HTML5视频课程

随着网络技术的发展,HTML5技术越来越成熟,很多的应用已经逐渐出现在你我日常生活中了,现在HTML5的应用不仅弥补了以往HTML的应用弊端,同时也促进了HTML5的应用,这样就逼迫行业必须要进行规划,因此现在从事HTML5开发工作可以获得更加可观的薪资收入. 很多人都希望可以加入HTML5开发工作中,可是在从事HTML5开发工作之前,需要先系统学习HTML5.我们千万不要相信半个月速成,20天精通的鬼话,学技术不是练葵花宝典,只要挥刀自宫就能速成.任何HTML5大神高手都是从基础一点点做起,通

高可用Hadoop平台-Ganglia安装部署

1.概述 最近,有朋友私密我,Hadoop有什么好的监控工具,其实,Hadoop的监控工具还是蛮多的.今天给大家分享一个老牌监控工具Ganglia,这个在企业用的也算是比较多的,Hadoop对它的兼容也很好,不过就是监控界面就不是很美观.下次给大家介绍另一款工具——Hue,这个界面官方称为Hadoop UI,界面美观,功能也比较丰富.今天,在这里主要给大家介绍Ganglia这款监控工具,介绍的内容主要包含如下: Ganglia背景 Ganglia安装部署.配置 Hadoop集群配置Ganglia