1 Hadoop 概述
Hadoop是 Apache 软件基金会旗下的一个开源分布式计算平台。 以 Hadoop 分布式文件系统 (Hadoop Distributed File System,HDFS)和 MapReduce (Google MapReduce的开源实现〉为核心的 Hadoop 为用户提供了系统底层细节透明的分布式基础架构。 ●HDFS 的高容错性、高伸缩性等优点允许用户将 Hadoop 部署在低廉的硬件上,形成分布式系统。 ●MapReduce 分布式编程模型允许用户在不了解分布式系统底层细节的情况下开发并行应用程序。 所以用户可以利用 Hadoop 轻松地组织计算机资源,从而搭建自己的分布式计算平台,并且可以充分利用集群的计算和存储能力,完成海量数据的处理。经过业界和学术界长达 10 年的锤炼,目前的 Hadoop 1.0.1 已经趋于完善,在实际的数据处理和分析任务中担当着不可替代的角色。
2 Hadoop 历史
Hadoop 的源头是 Apache Nutch,该项目始于 2002 年,是 Apache Lucene 的子项目之一。 2004 年,Google 在“操作系统设计与实现”(Operating System Design andImplementation,OSDI) 会议上公开发表了题为 MapReduce: Simplified Data Processing onLarge Clusters (《MapReduce:简化大规模集群上的数据处理》)的论文之后,受到启发的 Doug Cutting 等人开始尝试实现 MapReduce 计算框架,并将它与 NDFS (Nutch DistributedFile System)结合,用以支持 Nutch 引擎的主要算法。由于 NDFS 和 MapReduce 在 Nutch 引擎中有着良好的应用,所以它们于 2006 年 2 月被分离出来,成为一套完整而独立的软件,并命名为 Hadoop。 到了 2008 年年初,Hadoop 已成为 Apache 的顶级项目,包含众多子项目。它被应用到包括 Yahoo! 在内的很多互联网公司。 现在的 Hadoop 1.0.1 版本已经发展成为包含 HDFS、MapReduce 子项目,与 Pig、ZooKeeper、Hive、HBase等项目相关的大型应用工程。
3 Hadoop 功能与作用
我们为什么需要 Hadoop 呢?众所周知,现代社会的信息增长速度很快,这些信息中又积累着大量数据,其中包括个人数据和工业数据。预计到 2020 年,每年产生的数字信息中将会有超过 1/3 的内容驻留在云平台中或借助云平台处理。我们需要对这些数据进行分析处理,以获取更多有价值的信息。 在处理这类问题时,它采用分布式存储方式来提高读写速度和扩大存储容量,采用 MapReduce 整合分布式文件系统上的数据,保证高速分析处理数据,与此同时还采用存储冗余数据来保证数据的安全性。 Hadoop 中的 HDFS 具有高容错性,并且是基于Java 语言开发的,这使得 Hadoop 可以部署在低廉的计算机集群中,同时不限于某个操作系统。Hadoop 中 HDFS 的数据管理能力、MapReduce 处理任务时的高效率以及它的开源特性,使其在同类分布式系统中大放异彩,并在众多行业和科研领域中被广泛应用。
4 Hadoop 总结
Hadoop 的作用非常简单,就是在多计算机集群环境中营造一个统一而稳定的存储和计算环境,并能为其他分布式应用服务提供平台支持。 Hadoop 在某种程度上将多台计算机组织成了一台计算机, HDFS 就相当于这台计算机的硬盘,MapReduce 相当于计算机的 CPU 控制器。
参考文档:《Hadoop实战 第2版》
图片:来源与 Hadoop 中文网官方网址