Hadoop--雲計算的初級實現、通向未來的橋樑

來源:互聯網
上載者:User
專案主頁:HTTP://hadoop.apache.org


一個分散式系統基礎架構,由Apache基金會開發。 使用者可以在不了解分散式底層細節的情況下,開發分散式程式。 充分利用集群的威力高速運算和存儲。

起源:Google的集群系統

Google的資料中心使用廉價的Linux PC機組成集群,在上面運行各種應用。 即使是分散式開發的新手也可以迅速使用Google的基礎設施。 核心元件是3個:

1、GFS(Google File System)。 一個分散式檔案系統,隱藏下層負載均衡,冗余複製等細節,對上層程式提供一個統一的檔案系統API介面。 Google根據自己的需求對它 進行了特別優化,包括:超大檔的訪問,讀操作比例遠超過寫操作,PC機極易發生故障造成節點失效等。 GFS把檔分成64MB的塊,分佈在集群的機器 上,使用Linux的檔案系統存放。 同時每塊檔至少有3份以上的冗余。 中心是一個Master節點,根據檔索引,找尋檔塊。 詳見Google的工程 師發佈的GFS論文。

2、MapReduce。 Google發現大多數分散式運算可以抽象為MapReduce操 作。 Map是把輸入Input分解成中間的Key/Value對,Reduce把Key/Value合成最終輸出Output。 這兩個函數由程式師提供給 系統,下層設施把Map和Reduce操作分佈在集群上運行,並把結果存儲在GFS上。

3、BigTable。 一個大型的分散式資料庫,這個資料庫不是關係式的資料庫。 像它的名字一樣,就是一個巨大的表格,用來存儲結構化的資料。

以上三個設施Google均有論文發表。

開源實現

這個分散式框架很有創造性,而且有極大的擴充性,使得Google在系統輸送量上有很大的競爭力。 因此Apache基金會用JAVA實現了一個開源版 本,支援Fedora等Linux平臺。 目前Hadoop受到Yahoo的支援,有Yahoo員工長期工作在專案上,而且Yahoo內部也準備使用 Hadoop代替原來的基於FreeBSD的系統。
Hadoop實現了HDFS檔案系統和MapRecue。 目前版本是0.16。 還不成熟,但是已經可以在2000個節點上運行。 使用者只要繼承MapReduceBase,提供分別實現Map和Reduce的兩個類,並註冊Job即可自動分散式運行。

HDFS把節點分成兩類:NameNode和DataNode。 NameNode是唯一的,程式與之通信,然後從DataNode上存取檔。 這些操作是透明的,與普通的檔案系統API沒有區別。
MapReduce則是JobTracker節點為主,分配工作以及負責和使用者程式通信。

未來

目前這個專案還在進行中,還沒有到達1.0版本,和Google系統的差距也非常大,但是進步非常快,值得關注。

另外,這是雲計算(Cloud Computing)的初級階段的實現,是通向未來的橋樑。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.