Hadoop是一个开源软件框架,用于存储数据并在商用硬件集群上运行应用程序。它为任何类型的数据提供了巨大的存储空间、巨大的处理能力以及处理几乎无限并发任务或作业的能力。
Hadoop的历史
随着万维网在20世纪后期和21世纪初的发展,搜索引擎和索引被创建来帮助在基于文本的内容中定位相关信息。在早期,搜索结果由人工返回。但是,随着web从几十个页面发展到数百万个页面,需要实现自动化。网络爬虫被创造出来,许多是由大学领导的研究项目,搜索引擎初创企业开始起飞(雅虎、AltaVista等)。
其中一个项目是一个叫做Nutch的开源网络搜索引擎,它是Doug Cutting和Mike Cafarella的创意。他们希望通过在不同的计算机上分配数据和计算来更快地返回web搜索结果,这样就可以同时完成多个任务。
在此期间,另一个名为谷歌的搜索引擎项目正在进行中。它基于相同的概念——以分布式、自动化的方式存储和处理数据,以便更快地返回相关的web搜索结果。
2006年,Cutting加入了雅虎,带着Nutch项目以及基于谷歌的自动化分布式数据存储和处理的早期工作的想法。Nutch项目被分成两部分——网络爬虫部分保留为Nutch,分布式计算和处理部分成为Hadoop(以Cutting的儿子的玩具大象命名)。
2008年,雅虎将Hadoop作为一个开源项目发布。今天,Hadoop的框架和技术生态系统由非营利的Apache软件基金会(ASF)管理和维护,ASF是一个由软件开发人员和贡献者组成的全球社区。
为什么Hadoop很重要?
快速:能够快速存储和处理大量的任何类型的数据,随着数据量和种类的不断增加,尤其是来自社交媒体和物联网(IoT)的数据。
计算能力:Hadoop的分布式计算模型快速处理大数据。使用的计算节点越多,处理能力就越强。
容错:保护数据和应用程序处理不受硬件故障的影响。如果一个节点宕机,作业将自动重定向到其他节点,以确保分布式计算不会失败,所有数据的多个副本被自动存储。
灵活性:与传统的关系数据库不同,不必在存储数据之前对其进行预处理。可以存储尽可能多的数据,并决定以后如何使用它。这包括文本、图像和视频等非结构化数据。
低成本:开源框架是免费的,使用普通硬件来存储大量数据。
可伸缩性:可以简单地通过添加节点来扩展系统来处理更多的数据,几乎不需要管理。