天天看點

《Hadoop實戰第2版》——1.1節什麼是Hadoop

1.1.1 hadoop概述

hadoop是apache軟體基金會旗下的一個開源分布式計算平台。以hadoop分布式檔案系統(hadoop distributed file system,hdfs)和mapreduce(google mapreduce的開源實作)為核心的hadoop為使用者提供了系統底層細節透明的分布式基礎架構。hdfs的高容錯性、高伸縮性等優點允許使用者将hadoop部署在低廉的硬體上,形成分布式系統;mapreduce分布式程式設計模型允許使用者在不了解分布式系統底層細節的情況下開發并行應用程式。是以使用者可以利用hadoop輕松地組織計算機資源,進而搭建自己的分布式計算平台,并且可以充分利用叢集的計算和存儲能力,完成海量資料的處理。經過業界和學術界長達10年的錘煉,目前的hadoop 1.0.1已經趨于完善,在實際的資料處理和分析任務中擔當着不可替代的角色。

1.1.2 hadoop的曆史

hadoop的源頭是apache nutch,該項目始于2002年,是apache lucene的子項目之一。2004年,google在“作業系統設計與實作”(operating system design and implementation,osdi)會議上公開發表了題為mapreduce: simplified data processing on large clusters(《mapreduce: 簡化大規模叢集上的資料處理》)的論文之後,受到啟發的doug cutting等人開始嘗試實作mapreduce計算架構,并将它與ndfs(nutch distributed file system)結合,用以支援nutch引擎的主要算法。由于ndfs和mapreduce在nutch引擎中有着良好的應用,是以它們于2006年2月被分離出來,成為一套完整而獨立的軟體,并命名為hadoop。到了2008年年初,hadoop已成為 apache的頂級項目,包含衆多子項目。它被應用到包括yahoo!在内的很多網際網路公司。現在的hadoop1.0.1版本已經發展成為包含hdfs、mapreduce子項目,與pig、zookeeper、hive、hbase等項目相關的大型應用工程。

1.1.3 hadoop的功能與作用

我們為什麼需要hadoop呢?衆所周知,現代社會的資訊增長速度很快,這些資訊中又積累着大量資料,其中包括個人資料和工業資料。預計到2020年,每年産生的數字資訊中将會有超過1/3的内容駐留在雲平台中或借助雲平台處理。我們需要對這些資料進行分析處理,以擷取更多有價值的資訊。那麼我們如何高效地存儲管理這些資料、如何分析這些資料呢?這時可以選用hadoop系統。在處理這類問題時,它采用分布式存儲方式來提高讀寫速度和擴大存儲容量;采用mapreduce整合分布式檔案系統上的資料,保證高速分析處理資料;與此同時還采用存儲備援資料來保證資料的安全性。

hadoop中的hdfs具有高容錯性,并且是基于java語言開發的,這使得hadoop可以部署在低廉的計算機叢集中,同時不限于某個作業系統。hadoop中hdfs的資料管理能力、mapreduce處理任務時的高效率以及它的開源特性,使其在同類分布式系統中大放異彩,并在衆多行業和科研領域中被廣泛應用。

1.1.4 hadoop的優勢

hadoop是一個能夠讓使用者輕松架構和使用的分布式計算平台。使用者可以輕松地在hadoop上開發運作處理海量資料的應用程式。它主要有以下幾個優點:

高可靠性。hadoop按位存儲和處理資料的能力值得人們信賴。

高擴充性。hadoop是在可用的計算機集簇間配置設定資料完成計算任務的,這些集簇可以友善地擴充到數以千計的節點中。

高效性。hadoop能夠在節點之間動态地移動資料,以保證各個節點的動态平衡,是以其處理速度非常快。

高容錯性。hadoop能夠自動儲存資料的多份副本,并且能夠自動将失敗的任務重新配置設定。

1.1.5 hadoop應用現狀和發展趨勢

由于hadoop優勢突出,基于hadoop的應用已經遍地開花,尤其是在網際網路領域。yahoo!通過叢集運作hadoop,用以支援廣告系統和web搜尋的研究;facebook借助叢集運作hadoop來支援其資料分析和機器學習;搜尋引擎公司百度則使用hadoop進行搜尋日志分析和網頁資料挖掘工作;淘寶的hadoop系統用于存儲并處理電子商務交易的相關資料;中國移動研究院基于hadoop的“大雲”(bigcloud)系統對資料進行分析并對外提供服務。

2008年2月,作為hadoop最大貢獻者的yahoo!建構了當時最大規模的hadoop應用。他們在2000個節點上面執行了超過1萬個hadoop虛拟機器來處理超過5pb的網頁内容,分析大約1兆個網絡連接配接之間的網頁索引資料。這些網頁索引資料壓縮後超過300tb。yahoo!正是基于這些為使用者提供了高品質的搜尋服務。

hadoop目前已經取得了非常突出的成績。随着網際網路的發展,新的業務模式還将不斷湧現,hadoop的應用也會從網際網路領域向電信、電子商務、銀行、生物制藥等領域拓展。相信在未來,hadoop将會在更多的領域中扮演幕後英雄,為我們提供更加快捷優質的服務。