基於Hadoop的雲計算與存儲平臺研究與實現

來源:互聯網
上載者:User
關鍵字 雲計算 name dfs

隨著互聯網技術的發展,數宇資訊正在成指數增加,根據Internet Data Cente:發佈的Digital Universe報告顯示,在未來8年中所產生的資料量將達到40 ZB,相當於每人產生5200 G的資料, 如何高效地計算和存儲這些海量資料成為互聯網企業所要而對的挑戰。 傳統的大規模資料處理大多採用平行計算、網格計算、分散式高性能計算等,耗費昂貴的存儲與 計算資源,而且對於大規模資料計算任務的有效分配和資料合理分割都需要複雜的程式設計才可以實現。 基於Hadoop分散式雲平臺的出現成為解決此類問題的良好 途徑,本文將在綜述Hadoop核心技術:HDFS和MapReduce基礎上,利用VMware虛擬機器搭建一個基於Hadoop分散式技術的高效、易擴 展的雲資料計算與存儲平臺,並通過實驗驗證分散式運算與存儲的優勢。

1、Hadoop及其相關技術

Hadoop是並行技術、分散式技術和網格計算技術發展的產物,是一種為適應大規模資料計算和存儲而發展起來的模型架構。 Hadoop是Apache 公司旗下的一個分散式運算和存儲的框架平臺,能夠高效存儲大量資料,而且可以編寫分散式應用程式來分析計算海量資料。 Hadoop可在大量廉價硬體設備集 群中運行程式,為各應用程式提供可靠穩定的介面來構建高擴充性和高可靠行的分散式系統。 Hadoop具有成本低廉、可靠性高、容錯性高、擴充性強、效率 高、可攜性強、免費開源的優點。

Hadoop集群為典型Master/Slave、結構,基於Hadoop的雲計算與存儲架構模型如圖1所示。

圖 1 基於Hadoop的雲計算與存儲架構模型

1.1 Hadoop分散式檔案系統HDFS

HDFS是一個運行在大量廉價硬體之上的分散式檔案系統,它是Hadoop平臺的底層檔存儲系統,主要負責資料的管理和存儲,對於大檔的資料訪問 具有良好性能。 HDFS與傳統的分散式檔案系統相似,但是也存在著一定的不同,具有硬體故障、大資料集、簡單一致性、資料流程式訪問、移動計算的便捷性等特 點。 HDFS的工作流程及架構如圖2所示。


圖 2 HDFS的工作流程及架構結構

一個HDFS集群中有一個NameNode和多個DataNode。 如圖2所示,NameNode是中心伺服器, 它用來管理檔案系統的中繼資料資訊以及用戶端對檔的讀寫訪問,維護檔案系統樹及其子節點下的所有檔和目錄。 這些資訊以編輯日誌檔(Editlog)和 命名空間鏡像檔案(FsImage)的形式保存在磁片中。 NameNode還暫時記錄著各個塊(Block)所在的DataNode資訊。 其功能主要有: 管理中繼資料和檔塊;簡化中繼資料更新操作;監聽和處理請求。

DataNode通常在集群中一個節點一個,用來存儲、檢索資料塊,回應NameNode下達的創建、複製、刪除資料塊的命令,並定時向 NameNode發送「心跳」,通過心跳資訊向NameNode彙報自己的負載情況, 同時通過心跳資訊來接受NameNode下達的指令信 息;NameNode通過「心跳」資訊來確定DataNode是否失效,它定時ping每個DataNode,如果在規定的時間內沒有收到 DataNode的回饋就認為此節點失效, 然後對整個系統進行負載調整。 在HDFS中,每個檔劃分成一個或多個blocks(資料塊)分散存儲在不同的 DataNode中,DataNode之間進行資料塊的相互複製而形成多個備份。

1.2 Map/Reduce程式設計框架

Map/Reduce是Hadoop用來處理雲計算中海量資料的程式設計框架,簡單易用,程式師在不必瞭解底層實現細節的基礎上便可寫出程式來處理海量資料。 利用Map/Reduce技術可以在數千部伺服器上同時開展廣告業務和網路搜索等任務,並可以方便地處理TB、PB,甚至是EB級的資料。

Map/Reduce框架由JobTracker和TaskTracker組成。 JobTracker只有一個,它是主節點,負責任務的分配和調度, 管理著幾個TaskTracker;TaskTracker一個節點一個,用來接受並處理JobTracker發來的任務。

MapReduce針對集群中的大型資料集進行分散式運算,它的整個框架由Map和Reduce函陣列成,處理資料時先執行map再執行 reduce。 具體執行過程如圖3所示。 執行map函數前先對輸入資料進行分片;然後將不同的片段分配給不同的map執行,map函數處理之後以 (key,value)的形式輸出;在進入reduce階段前,map函數先將原來的(key,value) 分成多組中間的鍵值對再發給一個 reducer進行處理;最後reduce函數合併key相同的value,並輸出結果到磁片上。


圖 3 MapReduce計算過程

123下一頁
相關文章

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.