
1.6 Hadoop概述和介绍
1.6.1 Hadoop发展历史和应用现状
Hadoop最初是开始于2002年的Apache的Nutch项目。Nutch是一个开源Java实现的搜索引擎,它遇到的难题是,在抓取Web数据时如何保存和使用这些庞大的数据。随后Google在2003年发表了一篇技术学术论文谷歌文件系统(GFS, Google File System,是Google公司为了存储海量搜索数据而设计的专用文件系统)。2004年Nutch创始人Doug Cutting模仿Google的GFS论文实现了分布式文件存储系统NDFS。
2004年Google又发表了一篇技术学术论文MapReduce(一种分布式编程模型,用于大规模数据集的并行分析运算)。2005年Doug Cutting基于MapReduce的思想,在Nutch搜索引擎实现了该功能。2006年,Yahoo邀请Doug Cutting加盟,Doug Cutting将NDFS和MapReduce升级命名为Hadoop。2008年1月,Hadoop正式成为Apache的顶级项目,开始被雅虎之外的其他公司使用。2009年,Yahoo使用4000节点的机群运行Hadoop,支持广告系统和Web搜索的研究。Facebook的Hadoop机群扩展到数千个节点,用于存储内部日志数据,支持其上的数据分析和机器学习。淘宝的Hadoop系统达到千台规模,用于存储并处理电子商务的交易相关数据。
Hadoop改变了企业对数据的存储、处理和分析的过程,加速了大数据的发展,形成了自己非常火爆的技术生态圈,成为事实上的大数据处理标准。
1.6.2 Hadoop的特点
Hadoop是一个能够对大规模数据进行分布式处理的基础框架,用户可以在不了解分布式底层细节的情况下开发分布式程序,并充分利用集群的威力进行计算和存储。它具有如下特点:
(1)低成本:可以通过普通机器组成的服务器集群来分发以及处理数据。
(2)高可扩展性:集群可以很容易扩展到数千个计算机节点。
(3)高效率:Hadoop采用分布式存储和分布式计算处理两大核心技术,通过分发数据,在数据所在的节点上并行地高效处理它们。
(4)高可靠性:Hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署计算任务。
1.6.3 Hadoop的生态系统
早期的Hadoop(包括Hadoop v1.0以及更早之前的版本)主要由两个核心组件构成:HDFS和MapReduce。其中,HDFS分布式文件系统是Google GFS的开源版本,MapReduce分布式计算框架实现了由Google工程师提出的MapReduce编程模型。还有一些围绕在Hadoop周围的开源项目,为完善大数据处理的全生命周期提供了必要的配套和补充。这些软件常用的有ZooKeeper(分布式协调服务)、Hive(基于Hadoop的数据仓库工具)、HBase(实时分布式数据库)、Pig(数据流语言和运行环境)、Flume(日志采集工具)、Sqoop(Hadoop和关系数据库导入导出工具)、Mahout(数据挖掘工具)等,如图1-1所示。

图1-1
2012年5月,Hadoop v2.0版本发布,其中重要的变化是在Hadoop核心组件中增加了YARN,YARN的出现是为了把计算框架与资源管理彻底分离,解决Hadoop v1.0由此带来的扩展性差、单点故障和不能同时支持多种计算框架的问题,至此Hadoop与Google的大数据平台比肩。
Hadoop是一个开源项目,先后有许多公司在其框架基础上进行了增强并且发布了商业版本。Hadoop商业发行版的提供者通过优化核心代码、增强易用性、提供技术支持和持续版本升级为Hadoop平台实现了许多新功能。市场上受认可的Hadoop商业发行版的提供者主要有Cloudera、MapR和Hortonworks,它们发行的Hadoop商业版本都能与Apache社区开源版本兼容。Cloudera于2008年成为第一个Hadoop商业化公司,并在2009年推出第一个Hadoop商业发行版。
Cloudera是Hadoop领域知名的公司和市场领导者,提供了市场上第一个Hadoop商业发行版本。在多个创新工具的贡献者排行榜中名列榜首。它的系统管控平台Cloudera Manager非常容易使用,界面清晰,是监控和部署大数据集群的最佳平台。Cloudera除了提供免费版本(拥有核心管理监控功能和群集节点数目无限制)的下载,还为付费客户提供功能增强企业版本。企业版提供在企业生产环境中运行Hadoop所必需的运维功能,如无宕机滚动升级、灾备、数据治理审计等。
现在主流的公有云都已经在原有提供虚拟机的IaaS服务之外提供了基于Hadoop的PaaS云计算服务,未来这块市场的发展将超过私有Hadoop的部署。
第2章 Cloudera大数据平台介绍
由于Hadoop深受客户欢迎,因此许多公司都推出了各自版本的Hadoop,也有一些公司围绕Hadoop开发产品。在Hadoop生态系统中,规模最大、知名度最高的公司是Cloudera。2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案。Cloudera企业解决方案包括Cloudera Hadoop发行版(Cloudera Distribution Hadoop, CDH)、Cloudera Manager(CM)等。概括起来说,Cloudera提供一个可伸缩的、稳定的、综合的企业级大数据管理平台,它拥有最多的部署案例,提供强大的部署、管理和监控工具。