Hadoop起源于Apache Nutch項(xiàng)目,始于2002年,是Apache Lucene的子項(xiàng)目之一。2004年,Google在“操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)”(Operating System Design and Implementation,OSDI)會(huì)議上公開發(fā)表了題為MapReduce:Simplified Data Processing on Large Clusters(Mapreduce:簡(jiǎn)化大規(guī)模集群上的數(shù)據(jù)處理)的論文之后,受到啟發(fā)的Doug Cutting等人開始嘗試實(shí)現(xiàn)MapReduce計(jì)算框架,并將它與NDFS(Nutch Distributed File System)結(jié)合,用以支持Nutch引擎的主要算法。由于NDFS和MapReduce在Nutch引擎中有著良好的應(yīng)用,所以它們于2006年2月被分離出來(lái),成為一套完整而獨(dú)立的軟件,并被命名為Hadoop。到了2008年年初,hadoop已成為Apache的頂級(jí)項(xiàng)目,包含眾多子項(xiàng)目,被應(yīng)用到包括Yahoo在內(nèi)的很多互聯(lián)網(wǎng)公司。
Hadoop是一個(gè)由Apache基金會(huì)所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力進(jìn)行高速運(yùn)算和存儲(chǔ)。Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(Hadoop Distributed File System),其中一個(gè)組件是HDFS。HDFS有高容錯(cuò)性的特點(diǎn),并且設(shè)計(jì)用來(lái)部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)來(lái)訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超 大數(shù)據(jù) 集(large data set)的應(yīng)用程序。HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streaming access)文件系統(tǒng)中的數(shù)據(jù)。Hadoop的框架最核心的設(shè)計(jì)就是:HDFS和MapReduce。HDFS為海量的數(shù)據(jù)提供了存儲(chǔ),而MapReduce則為海量的數(shù)據(jù)提供了計(jì)算。