Hadoop由 Apache Software Foundation公司于 2005 年作为Lucene的子项目Nutch的一部分正式引入而开发的分布式系统基础架构。它曾经受到最先由 Google Lab 开发的 Map/Reduce 和 Google File System(GFS) 的启发。2006 年 3 月份,Map/Reduce 和 Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中。
Hadoop软件用户可以在不了解分布式底层细节的情况下,开发分布式程序,并充分利用集群的威力进行高速运算和存储。以Hadoop分布式文件系统HDFS(Hadoop Distributed Filesystem)和Mapreduce (GogoleMapreduce的开源实现)为核心的Hadoop 为用户提供了系统底层细节透明的分布式基础架构。因而,用户可以不用了解分布式底层细节,直接开发分布式程序,并充分利用集群资源进行运算和存储。HDFS为海量的数据提供了存储功能,而MapReduce为海量的数据提供了处理、分析和计算功能。
Hadoop作为开源软件,主要在Linux系统环境下安装和搭建。传统的关系型数据库主要有Access、Orcle、MySQL、SQL Server。作为非关系型数据库(NoSQL)代表之一,Hadoop在互联网环境和大数据时代有着广泛用途。由于Hadoop带有用Java语言编写的框架,因此在 Linux 系统上运行是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,例如 C和C++。
Hadoop是一个用户可以用来开发或者运行处理海量数据应用程序的分布式处理的软件框架。HDFS是Hadoop的文件系统。HDFS是运行在普通硬件上的分布式文件系统,以流式数据访问模式来存储超大型文件,管理网络中跨多台计算机存储文件。