賈歐陽 阮樹驊 田興 楊峻興 李丹
摘 要: 由Apache軟件基金會開發的Hadoop分布式系統基礎架構,作為一個主流的云計算平臺,其核心框架之一的MapReduce性能已經成為一個研究熱點,其中對于Shuffle階段的優化,使用Combine優化機制是關鍵。文章詳細介紹了MapReduce計算框架及Shuffle流程;分別從機理簡介、執行時機、運行條件三方面詳細闡述了如何利用Combine優化機制;通過搭建Hadoop集群,運用MapReduce分布式算法測試實驗數據。實驗結果充分證明,正確地運用Combine優化機制能顯著提高MapReduce框架的性能。
關鍵詞: 云計算; Hadoop; MapReduce; Shuffle; Combine
中圖分類號:TP393.2 文獻標志碼:A 文章編號:1006-8228(2013)09-01-04
0 引言
我們正處在一個數據爆炸的時代,數據生成速度之快令人驚訝:紐約證券交易所每天產生1TB的數據,Facebook存儲著約100億張照片占用了約1PB存儲容量[1]。由Apache軟件基金會開發的Hadoop分布式系統基礎架構,正是為了解決海量數據的存儲和計算問題,并且由于其高可靠性、高可擴展性、高效性和高容錯性,已經成為一種主流的云計算平臺[2]。Hadoop核心框架之一的MapReduce,在性能優化和提高等方面的問題已經被學術界和工業界所關注,而其中很重要的一部分是對Shuffle階段的優化。本文詳細介紹了MapReduce框架和Shuffle階段流程,研究分析了Shuffle優化過程中利用Combine優化機制存在的問題,通過實驗和理論分析找出了解決方案,提出了Combine優化機制的執行時機和運行條件,并利用實例數據充分證明了正確地利用Combine優化機制能顯著提高MapReduce框架性能。
1 MapReduce框架
1.1 框架簡介
MapReduce是一種能夠在普通配置計算機上并行處理大量數……