梁芷梧
摘要:大數(shù)據(jù)(Big Data)是隨著計算機(jī)技術(shù)及互聯(lián)網(wǎng)技術(shù)的高速發(fā)展而產(chǎn)生的獨特數(shù)據(jù)現(xiàn)象。現(xiàn)代社會正以不可想象的速度產(chǎn)生大數(shù)據(jù),幸運的是,計算機(jī)技術(shù)與互聯(lián)網(wǎng)技術(shù)的發(fā)展,在產(chǎn)生大數(shù)據(jù)的同時,也給人們帶來了全新的云計算技術(shù)。云計算技術(shù)帶來的大數(shù)據(jù)處理能力,使得分析和掌握大數(shù)據(jù)中蘊藏的無盡信息、知識和智慧成為可能。
分布式計算(Distributed Computing)是將數(shù)量級大的工程數(shù)據(jù)劃分成若干個小分塊,由多個計算機(jī)即計算節(jié)點分別來計算后將運算結(jié)果進(jìn)行上傳,最終把結(jié)果進(jìn)行合并從而得出統(tǒng)一的數(shù)據(jù)結(jié)論的計算過程。并行計算(Parallel Computing)指的是將一個總的計算任務(wù)劃分成多個子分塊,在具備了并行處理能力的計算節(jié)點上,分配給不同的處理器,各處理器之間遵循調(diào)配機(jī)制并行地執(zhí)行子分塊任務(wù),最終達(dá)到提升計算規(guī)?;蛘咛岣哂嬎闼俣鹊哪康?。
在本設(shè)計中利用的是Hadoop分布式架構(gòu),其主要由3個子項目組成:MapReduce(編程模型和軟件框架,用于在大規(guī)模計算機(jī)集群上編寫對大數(shù)據(jù)進(jìn)行快速處理的并行化程序)、HDFS(構(gòu)建于廉價計算機(jī)集群之上的分布式文件系統(tǒng))和Hadoop Common(為整體架構(gòu)提供基礎(chǔ)支撐功能)。著重研究了MapReduce處理框架并建立了一個能夠?qū)?shù)據(jù)進(jìn)行可靠處理的分布式系統(tǒng)平臺,使其以分布式并行工作方式加快處理速度,從而體現(xiàn)出其在云計算應(yīng)用中處理大量數(shù)據(jù)時的優(yōu)勢。最終通過程序測試來了分析MapReduce框架在數(shù)據(jù)處理中的流程及特點。
關(guān)鍵詞:MapReduce;云計算;并行計算;Hadoop;分布式計算
在現(xiàn)代網(wǎng)絡(luò)科技水平不斷提升的態(tài)勢下,云計算基于并行計算、分布式計算和網(wǎng)格計算之下不斷發(fā)展,成為了普及性的計算模式,隨著云計算和個人高性能計算機(jī)技術(shù)的縱深發(fā)展,單機(jī)工作模式逐漸被并行計算模式所替代,MapReduce分布式并行編程模式與傳統(tǒng)分布式程序相比,涵蓋了并行處理、容錯處理、負(fù)載均衡等內(nèi)容,有強大便捷的編程接口,極大地降低了并行程序的開發(fā)和設(shè)計難度。
一、云計算技術(shù)概述
云計算將計算任務(wù)分布在大量計算機(jī)構(gòu)成的資源池之上,根據(jù)用戶的需求獲取計算能力、存儲空間和信息化服務(wù),是一種自我維護(hù)和管理的虛擬計算資源,在專門軟件的條件下實現(xiàn)自動化管理,并支持各種應(yīng)用程序的運行,如:計算集群、存儲服務(wù)器等,其廣義的涵義即為“網(wǎng)絡(luò)計算”。
1、Google云計算原理
它由分布式文件系統(tǒng)GFS、MapReduce并行計算編程模式、BigTable結(jié)構(gòu)化存儲系統(tǒng)構(gòu)成,是建立在大數(shù)據(jù)存儲能力基礎(chǔ)之上的處理操作。在分布式文件系統(tǒng)GFS之中,可以進(jìn)行大數(shù)據(jù)、分布式的讀寫操作,用系統(tǒng)所特有的全局唯一的ID標(biāo)識進(jìn)行數(shù)據(jù)塊的識別。MapReduce并行計算編程模式可以將邏輯問題與分布式編輯中的問題相隔離,MapReduce并行計算編程模式可以跨越大量數(shù)據(jù)節(jié)點,分割任務(wù)并分配給下層計算節(jié)點,執(zhí)行輸入數(shù)據(jù)的劃分、節(jié)點業(yè)務(wù)執(zhí)行的調(diào)度以及容錯處理等,實現(xiàn)應(yīng)用程序的開發(fā),從而服務(wù)于Google大數(shù)據(jù)的處理工作。BigTable呈現(xiàn)出分布式的、稀疏的、有序的多維度Map,具有良好的伸縮性和高可用性。
2、Hadoop云計算系統(tǒng)
Hadoop的內(nèi)核由HDFS、MapReduce和Hbase組成,是Apache開源組織的一個分布式計算架構(gòu),具有良好的可擴(kuò)展性和高效性,在分布式文件系統(tǒng)HDFS和MapReduce編輯模型相整合的架構(gòu)中,可以實現(xiàn)Local Data的處理模式,并增加了網(wǎng)絡(luò)爬蟲、Web搜索引擎功能、文檔格式插件等,對數(shù)據(jù)信息進(jìn)行高效的處理,在這個集群之中,可以對存儲在本地磁盤的數(shù)據(jù)進(jìn)行計算,這種“本地計算”的模式極大地擴(kuò)展了傳輸量,節(jié)約了網(wǎng)絡(luò)帶寬占用量,并且還可以進(jìn)行可擴(kuò)展的訪問,適合于海量數(shù)據(jù)集的應(yīng)用運行。
二、云計算中MapReduce分布式并行處理框架的研究設(shè)計
Hadoop分布式架構(gòu),其主要由3個子項目組成:MapReduce(編程模型和軟件框架,用于在大規(guī)模計算機(jī)集群上編寫對大數(shù)據(jù)進(jìn)行快速處理的并行化程序)、HDFS(構(gòu)建于廉價計算機(jī)集群之上的分布式文件系統(tǒng))和Hadoop Common(為整體架構(gòu)提供基礎(chǔ)支撐功能)。
1、MapReduce
MapReduce編程模型及軟件框架,是指用于在大規(guī)模計算機(jī)集群上編寫對大數(shù)據(jù)進(jìn)行快速處理的并行化程序。其思想是將大規(guī)模集群上運行的并行計算加以抽象化,并用兩個抽象函數(shù)加以表達(dá):Map和Reduce,即:映射和化簡,它是在軟件框架下對任務(wù)進(jìn)行分解,并匯總中間運行的結(jié)果,最終得到終極結(jié)果集。
MapReduce的工作原理主要包括以下具體內(nèi)容:(1)提交MapReduce作業(yè)。在提交作業(yè)之后,runJob()方法將在每秒輪詢作業(yè)進(jìn)度,顯示作業(yè)的成功狀況,對于與記錄不符的作業(yè)要在控制臺加以顯示,對于成功的作業(yè),則顯示出作業(yè)計數(shù)器。(2)MapReduce作業(yè)的初始化。當(dāng)JobTracker接收到submitJob()方法的調(diào)用之后,由作業(yè)調(diào)度器對其進(jìn)行調(diào)度,實施初始化,并追蹤任務(wù)實施的狀態(tài)。(3)MapReduce任務(wù)的分配。JobTracker首先要選定任務(wù)所在的作業(yè),在選取好作業(yè)之后,JobTracker就可以為該作業(yè)分配一個確定的任務(wù)。
2、HDFS
這是一個構(gòu)建于廉價計算機(jī)集群之上的、Hadoop架構(gòu)中的分布式文件系統(tǒng),有著極高的容錯性特征,適用于超大數(shù)據(jù)信息的應(yīng)用程序。它通過數(shù)據(jù)塊序列的方式對文件進(jìn)行存儲,利用Namenode節(jié)點對所有的數(shù)據(jù)塊,進(jìn)行復(fù)制操作,這主要是為了實現(xiàn)節(jié)點故障容錯,同時,Hadoop還可以針對集群中的Datanode節(jié)點,進(jìn)行周期性的心跳信號檢測,接收相關(guān)數(shù)據(jù)塊的狀態(tài)報告,當(dāng)Namenode節(jié)點可以收到一個Datanode節(jié)點的心跳信號,證明這個節(jié)點的狀態(tài)良好,適合用于存儲數(shù)據(jù)信息。
3、Hadoop Common
Hadoop Common為整體架構(gòu)提供基礎(chǔ)支撐功能,它在分布式計算環(huán)境中處于底層的存儲支持地位和作用,可以為用戶提供高速的傳輸速率,進(jìn)行應(yīng)用程序數(shù)據(jù)的訪問。
三、程序測試
通過對云計算分布式并行處理框架系統(tǒng)的測試,MapReduce框架在數(shù)據(jù)處理中的流程,主要表現(xiàn)為:MapReduce函數(shù)庫將文件劃分為若干個文件塊,并在集群上執(zhí)行處理程序,在執(zhí)行程序中的主控程序為Master,其他執(zhí)行程序由Master進(jìn)行分配,Master根據(jù)Worker的具體情況分配Map和Reduce任務(wù),讀取輸入的信息數(shù)據(jù)塊,對其進(jìn)行處理,Map函數(shù)輸出中間結(jié)果
四、結(jié)束語
綜上所述,在計算機(jī)網(wǎng)絡(luò)計算技術(shù)不斷進(jìn)步的時代下,云計算融合了并行計算、分布式計算和網(wǎng)格計算模式,成為了一種虛擬化、負(fù)載均衡的網(wǎng)絡(luò)計算模式,在基于MapReduce并行編程模式的條件下,可以使云計算分布式并行處理性能得到極大的改進(jìn)和提高,并在未來的發(fā)展趨勢中實現(xiàn)對數(shù)據(jù)的動態(tài)分配。
參考文獻(xiàn):
[1]張琦.基于MapReduce的分布式規(guī)則匹配系統(tǒng)的研究與實現(xiàn)[D]. 浙江大學(xué)2011
[2]楊玲.面向云計算的MapReduce并行編程模式的研究與應(yīng)用[D]. 湖南大學(xué)2011
[3]周飛鳳.MapReduce在科學(xué)計算中的研究與改進(jìn)[D].安徽大學(xué) 2013