Hadoop是什么
Hadoop是一个开源的分布式计算平台,可以对大规模数据集进行分布式处理。它由两个核心组件组成:HDFS(分布式文件系统)和MapReduce(分布式计算框架)。
HDFS为海量数据提供了存储,可以存储和处理PB级别或更大的数据量。MapReduce则提供了对数据的计算,通过将数据分解为小块,在多个节点上并行处理,然后汇总结果,实现了对大规模数据的分布式处理。
Hadoop的核心设计理念是:HDFS和MapReduce。HDFS为海量数据提供了存储,而MapReduce则提供了对数据的计算。Hadoop还包含其他组件,如YARN和Zookeeper,分别用于资源管理和分布式应用程序协同。
Hadoop可以处理各种形式的数据,包括结构化和非结构化数据,具有高可靠性、高可扩展性和高效性等特性。由于Hadoop是开源的,用户可以根据自己的需求对它进行修改和优化。
Hadoop发展历史
Hadoop的发展历史可以追溯到2001年,当时Lucene成为Apache基金会的一个子项目。由于当时海量数据的存储和检索面临着诸多困难,例如数据存储的可扩展性和检索速度等问题,Lucene框架的创始人Doug Cutting和Mike Cafarella开始探索如何解决这些问题。
大数据技术诞生的更为靠前,基本是在1999年出现在Google,当时为了解决Google内部服务器的压力应运而生。
在2003-2004年期间,Google发表了三篇论文,分别为分布式文件系统(GFS)、分布式计算框架MapReduce以及分布式的结构化数据存储系统BigTable。这些论文为Hadoop的诞生提供了理论基础。基于这些论文的思路,Doug Cutting和Mike Cafarella开始实现Hadoop的第一个版本,并在2005年正式引入到Apache基金会中。
Hadoop的发展历程可以划分为几个关键阶段:
最初版本(HDFS和MapReduce):在2004-2005年期间,Hadoop的第一个版本实现了HDFS和MapReduce机制,为海量数据的存储和计算提供了基础。
Nutch项目:Nutch是一个开源的搜索引擎项目,最初的目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能。随着抓取网页数量的增加,Nutch遇到了严重的可扩展性问题。为了解决这些问题,Nutch项目开始采用Hadoop作为其基础框架。
雅虎使用和推广:随着Hadoop的稳定运行和逐渐成熟,雅虎成为了第一个大规模采用Hadoop的企业。雅虎的网格计算团队采用了Hadoop,并对Hadoop进行了优化和改进,使其更加适应大规模数据处理的需求。随着雅虎对Hadoop的采用和推广,Hadoop逐渐受到更多的关注和认可。
大规模应用和扩展:随着大数据技术的不断发展,Hadoop逐渐成为大数据领域的重要工具。许多企业开始将Hadoop作为其数据处理和分析的基础平台,广泛应用于各种领域,如互联网、金融、医疗等。同时,Hadoop也在不断发展壮大,新的组件和工具不断涌现,如YARN、Hive、HBase等。
总的来说,Hadoop的发展历史是一个不断探索和创新的过程。从最初的Lucene框架到现在的Apache Hadoop项目,Hadoop已经成为大数据领域的重要基石。
Hadoop发行版本
Hadoop发行版本主要分为以下几种:
Apache Hadoop:这是最原始的Hadoop发行版本,由Apache开源社区维护和开发,包括HDFS、MapReduce、YARN和Hadoop Common等核心组件。
Cloudera Hadoop:Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要包括支持、咨询服务、培训等。Cloudera的Hadoop发行版CDH(Cloudera Distribution, including Apache Hadoop)完全开源,比Apache Hadoop在兼容性、安全性、稳定性上有所增强。
Hortonworks Hadoop:Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建的公司,其Hadoop发行版HDP(Hortonworks Data Platform)基于Apache Hadoop,并增加了许多特性和工具,以帮助用户更好地管理和分析大规模数据。
Hortonworks现在已经被Cloudera公司收购,推出新的品牌CDP。
Apache Hadoop
官网地址:http://hadoop.apache.org
下载地址:https://hadoop.apache.org/releases.html