[發明專利]一種基于MapReduce的分布式計算方法和裝置有效
| 申請號: | 201210181255.3 | 申請日: | 2012-06-05 |
| 公開(公告)號: | CN103455374B | 公開(公告)日: | 2016-10-19 |
| 發明(設計)人: | 王勇;廖新濤;徐冬 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 上海浦一知識產權代理有限公司 31211 | 代理人: | 殷曉雪 |
| 地址: | 開曼群島大開曼*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 mapreduce 分布式 計算方法 裝置 | ||
技術領域
本申請涉及一種分布式計算方法。
背景技術
Hadoop項目是Apache軟件基金會開發的一個軟件框架(software?framework),用來支持分布式應用程序(distributed?applications)在眾多具有計算能力且相互獨立的計算機上處理大量數據,其處理的數據量可達PB即1015字節級別。
請參閱圖1,Hadoop軟件框架至少包括:
位于最底層的一個分布式文件系統10,常見的是HDFS(Hadoop?Distributed?File?System,Hadoop分布式文件系統)。
HDFS是一個采用主-從架構的分布式文件系統,由一個主節點Namenode(命名節點)和多個從節點Datanode(數據節點)組成。HDFS將一個文件分成一個或多個數據塊(block),這些數據塊存儲在一組Datanode上。Namenode負責管理該分布式文件系統的名字空間(namespace),如打開、關閉、重命名、刪除文件或目錄。它也負責確定數據塊到具體Datanode的映射。Datanode在Namenode的統一調度下進行數據塊的創建、刪除和復制。一個典型的HDFS集群是一臺計算機上只運行一個Namenode作為主機,其它計算機分別運行一個Datanode作為從機。
Hadoop項目也兼容其他分布式文件系統,例如Amazon?S3(Amazon?Simple?Storage?Service)、CloudStore等。
在該分布式文件系統之上的一個分布式計算軟件框架20,常見的是MapReduce軟件框架。
MapReduce用來支持在計算機集群上對大型數據集的分布式計算。其也采用主-從架構,由一個主節點JobTracker(作業跟蹤器)和多個從節點TaskTracker(任務跟蹤器)組成。MapReduce將一個作業(job)分成一個或多個任務(task),由一組TaskTracker并行處理。JobTracker負責調度構成一個作業的所有任務,將這些任務分配給可用的TaskTracker。它還監控任務的執行,重新執行已經失敗的任務。TaskTracker僅負責執行由JobTracker指派的任務。通常,MapReduce軟件框架和分布式文件系統是運行在一組相同的節點上的,即計算節點和存儲節點通常在一起。
位于最上方的客戶應用程序(Client?Applications)40,即應用該分布式計算軟件框架20進行分布式計算、并存儲于該分布式文件系統10的應用程序。
請參閱圖2,Hadoop軟件框架通常還包括位于分布式計算軟件框架20和客戶應用程序40之間的MapReduce編譯工具30,常見的有數據倉庫工具Hive、編程工具Pig等。
Hive是一個數據倉庫系統(data?warehouse?system),提供數據匯總、查詢和分析。Hive支持對存儲于Hadoop兼容型分布式文件系統的大型數據庫的分析,同時完全兼容MapReduce框架。它提供類似于SQL(Structured?Query?Language,結構化查詢語言)的語言稱為HiveQL。
Pig是一個編程平臺,提供大型數據集的分析。該平臺的語言稱為Pig?Latin,用來創建在MapReduce軟件框架上運行的程序。
圖1所示的Hadoop軟件框架中,客戶應用程序40必須基于MapReduce軟件框架20直接開發,MapReduce級的編程利用Java?APIs,這對程序員提出了較高要求,所編寫的客戶應用程序40也存在代碼冗長等缺點。
圖2所示的Hadoop軟件框架中,客戶應用程序40是基于MapRedece編譯工具30開發的,可以采用HiveQL、Pig?Latin等高等語言,這使得編程工作更為簡單,所編寫的客戶應用程序40也可大幅削減代碼量。因而,圖2所示的Hadoop軟件框架在實際應用中更為常見。
請參閱圖3,現有的基于MapReduce的分布式計算方法包括如下步驟:
步驟S31,客戶應用程序向MapReduce編譯工具發出指令;
步驟S32,MapReduce編譯工具將該指令編譯為一個或多個作業,再提交給MapReduce軟件框架;
步驟S33,MapReduce軟件框架處理所述作業,然后向MapReduce編譯工具輸出每個作業結果;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210181255.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種山藥人參豬肉脯及制備方法
- 下一篇:一種滋補黑米茶的制備方法





