Hadoop 是一個實現了 MapReduce 計算模型的開源分散式並行程式設計框架。 MapReduce的概念來源於Google實驗室,它是一個簡化平行計算的程式設計模型,適用于大規模集群上的海量資料處理,目前最成功的應用是分散式搜尋引擎。 隨著2007年底該模式JAVA開源實現專案Apache Hadoop的出現,使得程式師可以輕鬆地編寫分散式並行程式,並將其運行于電腦集群上,完成海量資料的計算。 近兩年尤其是今年國內外採用MapReduce模型的應用也逐漸豐富起來,如像NTT KDDI和中國移動這類的電信公司採用該模型分析使用者資訊,優化網路設定;美國供電局採用該模型來分析電網現狀 ;包括VISA和JP摩根在內的金融公司採用該模型來分析股票資料;包括Amazon和ebay在內的零售商和電子商務公司也開始採用該模型;甚至部分生物公司也採用該模型來進行DNA測序和分析。 然而Hadoop安裝、部署、管理的難度非常大,這使用很多使用者對Hadoop望而卻步,好在這種情況不久就得到了改善,Cloudera提供了非常簡單的Hadoop的發佈版本,能夠十分方便地對Hadoop進行安裝、部署和管理, 這導致目前大約有75%的Hadoop新使用者使用Cloudera。
運行模式
Hadoop有三種運行模式:單機(非分佈)運行模式、偽分佈運行模式和分散式運行模式。 其中前兩種運行模式體現不了 Hadoop 分散式運算的優勢,並沒有什麼實際意義(當然它們對程式的測試及調試還是很有説明的),因此在這裡還是採用實際環境中使用的分散式運行模式來部署。
主機規劃
在這裡擬採用三台主機搭建Hadoop環境,由於後期還需要測試增刪主機及跨網段主機對Hadoop環境的影響,特將Hadoop主機規劃如下:
Hadoop-01 10.137.253.201
Hadoop-02 10.137.253.202
Hadoop-03 10.137.253.203 準備後期加入的測試主機
Hadoop-04 10.137.253.204
Firehare-303 10.10.3.30 準備後期加入的跨網段測試主機