?

云計算中MapReduce分布式并行處理框架的研究與搭建

2016-11-24 13:30梁芷梧
科學與財富 2016年15期
關鍵詞:并行計算分布式計算云計算

梁芷梧

摘要:大數據(Big Data)是隨著計算機技術及互聯網技術的高速發展而產生的獨特數據現象?,F代社會正以不可想象的速度產生大數據,幸運的是,計算機技術與互聯網技術的發展,在產生大數據的同時,也給人們帶來了全新的云計算技術。云計算技術帶來的大數據處理能力,使得分析和掌握大數據中蘊藏的無盡信息、知識和智慧成為可能。

分布式計算(Distributed Computing)是將數量級大的工程數據劃分成若干個小分塊,由多個計算機即計算節點分別來計算后將運算結果進行上傳,最終把結果進行合并從而得出統一的數據結論的計算過程。并行計算(Parallel Computing)指的是將一個總的計算任務劃分成多個子分塊,在具備了并行處理能力的計算節點上,分配給不同的處理器,各處理器之間遵循調配機制并行地執行子分塊任務,最終達到提升計算規?;蛘咛岣哂嬎闼俣鹊哪康?。

在本設計中利用的是Hadoop分布式架構,其主要由3個子項目組成:MapReduce(編程模型和軟件框架,用于在大規模計算機集群上編寫對大數據進行快速處理的并行化程序)、HDFS(構建于廉價計算機集群之上的分布式文件系統)和Hadoop Common(為整體架構提供基礎支撐功能)。著重研究了MapReduce處理框架并建立了一個能夠對數據進行可靠處理的分布式系統平臺,使其以分布式并行工作方式加快處理速度,從而體現出其在云計算應用中處理大量數據時的優勢。最終通過程序測試來了分析MapReduce框架在數據處理中的流程及特點。

關鍵詞:MapReduce;云計算;并行計算;Hadoop;分布式計算

在現代網絡科技水平不斷提升的態勢下,云計算基于并行計算、分布式計算和網格計算之下不斷發展,成為了普及性的計算模式,隨著云計算和個人高性能計算機技術的縱深發展,單機工作模式逐漸被并行計算模式所替代,MapReduce分布式并行編程模式與傳統分布式程序相比,涵蓋了并行處理、容錯處理、負載均衡等內容,有強大便捷的編程接口,極大地降低了并行程序的開發和設計難度。

一、云計算技術概述

云計算將計算任務分布在大量計算機構成的資源池之上,根據用戶的需求獲取計算能力、存儲空間和信息化服務,是一種自我維護和管理的虛擬計算資源,在專門軟件的條件下實現自動化管理,并支持各種應用程序的運行,如:計算集群、存儲服務器等,其廣義的涵義即為“網絡計算”。

1、Google云計算原理

它由分布式文件系統GFS、MapReduce并行計算編程模式、BigTable結構化存儲系統構成,是建立在大數據存儲能力基礎之上的處理操作。在分布式文件系統GFS之中,可以進行大數據、分布式的讀寫操作,用系統所特有的全局唯一的ID標識進行數據塊的識別。MapReduce并行計算編程模式可以將邏輯問題與分布式編輯中的問題相隔離,MapReduce并行計算編程模式可以跨越大量數據節點,分割任務并分配給下層計算節點,執行輸入數據的劃分、節點業務執行的調度以及容錯處理等,實現應用程序的開發,從而服務于Google大數據的處理工作。BigTable呈現出分布式的、稀疏的、有序的多維度Map,具有良好的伸縮性和高可用性。

2、Hadoop云計算系統

Hadoop的內核由HDFS、MapReduce和Hbase組成,是Apache開源組織的一個分布式計算架構,具有良好的可擴展性和高效性,在分布式文件系統HDFS和MapReduce編輯模型相整合的架構中,可以實現Local Data的處理模式,并增加了網絡爬蟲、Web搜索引擎功能、文檔格式插件等,對數據信息進行高效的處理,在這個集群之中,可以對存儲在本地磁盤的數據進行計算,這種“本地計算”的模式極大地擴展了傳輸量,節約了網絡帶寬占用量,并且還可以進行可擴展的訪問,適合于海量數據集的應用運行。

二、云計算中MapReduce分布式并行處理框架的研究設計

Hadoop分布式架構,其主要由3個子項目組成:MapReduce(編程模型和軟件框架,用于在大規模計算機集群上編寫對大數據進行快速處理的并行化程序)、HDFS(構建于廉價計算機集群之上的分布式文件系統)和Hadoop Common(為整體架構提供基礎支撐功能)。

1、MapReduce

MapReduce編程模型及軟件框架,是指用于在大規模計算機集群上編寫對大數據進行快速處理的并行化程序。其思想是將大規模集群上運行的并行計算加以抽象化,并用兩個抽象函數加以表達:Map和Reduce,即:映射和化簡,它是在軟件框架下對任務進行分解,并匯總中間運行的結果,最終得到終極結果集。

MapReduce的工作原理主要包括以下具體內容:(1)提交MapReduce作業。在提交作業之后,runJob()方法將在每秒輪詢作業進度,顯示作業的成功狀況,對于與記錄不符的作業要在控制臺加以顯示,對于成功的作業,則顯示出作業計數器。(2)MapReduce作業的初始化。當JobTracker接收到submitJob()方法的調用之后,由作業調度器對其進行調度,實施初始化,并追蹤任務實施的狀態。(3)MapReduce任務的分配。JobTracker首先要選定任務所在的作業,在選取好作業之后,JobTracker就可以為該作業分配一個確定的任務。

2、HDFS

這是一個構建于廉價計算機集群之上的、Hadoop架構中的分布式文件系統,有著極高的容錯性特征,適用于超大數據信息的應用程序。它通過數據塊序列的方式對文件進行存儲,利用Namenode節點對所有的數據塊,進行復制操作,這主要是為了實現節點故障容錯,同時,Hadoop還可以針對集群中的Datanode節點,進行周期性的心跳信號檢測,接收相關數據塊的狀態報告,當Namenode節點可以收到一個Datanode節點的心跳信號,證明這個節點的狀態良好,適合用于存儲數據信息。

3、Hadoop Common

Hadoop Common為整體架構提供基礎支撐功能,它在分布式計算環境中處于底層的存儲支持地位和作用,可以為用戶提供高速的傳輸速率,進行應用程序數據的訪問。

三、程序測試

通過對云計算分布式并行處理框架系統的測試,MapReduce框架在數據處理中的流程,主要表現為:MapReduce函數庫將文件劃分為若干個文件塊,并在集群上執行處理程序,在執行程序中的主控程序為Master,其他執行程序由Master進行分配,Master根據Worker的具體情況分配Map和Reduce任務,讀取輸入的信息數據塊,對其進行處理,Map函數輸出中間結果對,暫時存于緩存之中,由Reduce Worker對中間數據進行排序,集合相同的key值,并將這些中間結果值集合傳遞給用戶自定義的Reduce函數,當所有的任務完成之后,Master返回到MapReduce程序的入口處。

四、結束語

綜上所述,在計算機網絡計算技術不斷進步的時代下,云計算融合了并行計算、分布式計算和網格計算模式,成為了一種虛擬化、負載均衡的網絡計算模式,在基于MapReduce并行編程模式的條件下,可以使云計算分布式并行處理性能得到極大的改進和提高,并在未來的發展趨勢中實現對數據的動態分配。

參考文獻:

[1]張琦.基于MapReduce的分布式規則匹配系統的研究與實現[D]. 浙江大學2011

[2]楊玲.面向云計算的MapReduce并行編程模式的研究與應用[D]. 湖南大學2011

[3]周飛鳳.MapReduce在科學計算中的研究與改進[D].安徽大學 2013

猜你喜歡
并行計算分布式計算云計算
基于云計算的大數據處理與分析綜述
基于自適應線程束的GPU并行粒子群優化算法
基于云計算的移動學習平臺設計與實現
矩陣向量相乘的并行算法分析
基于云計算的移動學習平臺的設計
并行硬件簡介
實驗云:理論教學與實驗教學深度融合的助推器
云計算中的存儲虛擬化技術應用
基于Matlab的遙感圖像IHS小波融合算法的并行化設計
面向異構分布式計算環境的并行任務調度優化方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合