[發(fā)明專利]一種提高M(jìn)apreduce任務(wù)Shuffle性能的控制器調(diào)度方法有效
| 申請?zhí)枺?/td> | 201710684587.6 | 申請日: | 2017-08-11 |
| 公開(公告)號(hào): | CN107391250B | 公開(公告)日: | 2021-02-05 |
| 發(fā)明(設(shè)計(jì))人: | 朱虹錦;王國謙;鄧小旭 | 申請(專利權(quán))人: | 成都優(yōu)易數(shù)據(jù)有限公司 |
| 主分類號(hào): | G06F9/48 | 分類號(hào): | G06F9/48 |
| 代理公司: | 成都弘毅天承知識(shí)產(chǎn)權(quán)代理有限公司 51230 | 代理人: | 徐金瓊;劉東 |
| 地址: | 611730 四川省成都市郫縣德源鎮(zhèn)(菁*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 提高 mapreduce 任務(wù) shuffle 性能 控制器 調(diào)度 方法 | ||
本發(fā)明公開了涉及分布式系統(tǒng)領(lǐng)域,特別涉及一種提高M(jìn)apreduce任務(wù)Shuffle性能的控制器調(diào)度方法。用戶提供必備參數(shù);生成控制器,再根據(jù)必備參數(shù)對控制器進(jìn)行定義;加載步驟1中的進(jìn)行定義后的控制器,生成臨時(shí)Mapper任務(wù),采集臨時(shí)Mapper任務(wù)結(jié)果數(shù)據(jù),分析臨時(shí)Mapper任務(wù)中產(chǎn)生的Key,控制器根據(jù)Mapper任務(wù)的分區(qū)方式確定Reducer任務(wù)的啟動(dòng)節(jié)點(diǎn);啟動(dòng)Mapreduce任務(wù),在進(jìn)行Reducer任務(wù)前調(diào)度步驟2的控制器,確定Reducer任務(wù)的啟動(dòng)節(jié)點(diǎn),啟動(dòng)Reducer任務(wù),最后輸出Mapreduce任務(wù)的最終結(jié)果。本發(fā)明提供一種可以優(yōu)化shuffle流程的控制器,降低了Mapper任務(wù)完成后節(jié)點(diǎn)間數(shù)據(jù)傳輸?shù)木嚯x;降低了在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量;屏蔽了不同數(shù)據(jù)、業(yè)務(wù)邏輯的差異性,使得shuffle的優(yōu)化更通用。
技術(shù)領(lǐng)域
本發(fā)明涉及分布式系統(tǒng)領(lǐng)域,特別涉及一種提高M(jìn)apreduce任務(wù)Shuffle性能的控制器調(diào)度方法。
背景技術(shù)
在一個(gè)Mapreduce任務(wù)中,Shuffle階段嚴(yán)重影響任務(wù)的執(zhí)行效率,因?yàn)镾huffle階段會(huì)引起大量數(shù)據(jù)網(wǎng)絡(luò)傳輸,而在數(shù)據(jù)的傳輸過程中引起的丟包、時(shí)延、網(wǎng)絡(luò)堵塞的幾率會(huì)成倍提升。一個(gè)正常的Mapreduce任務(wù)可能變得緩慢甚至不會(huì)運(yùn)行成功。對開發(fā)人員來說,上述場景的發(fā)生都會(huì)浪費(fèi)大量的時(shí)間去調(diào)優(yōu)、分析錯(cuò)誤日志。所以優(yōu)化Shuffle階段的運(yùn)行流程對于提高任務(wù)的執(zhí)行速度有重要意義。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)中Mapreduce任務(wù)網(wǎng)絡(luò)堵塞幾率高、需浪費(fèi)大量時(shí)間去調(diào)優(yōu)以及分析錯(cuò)誤日志的問題,提供一種提高M(jìn)apreduce任務(wù)Shuffle性能的控制器調(diào)度方法,降低了Mapper任務(wù)完成后節(jié)點(diǎn)間數(shù)據(jù)傳輸?shù)木嚯x,降低了在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量,同時(shí)屏蔽了不同數(shù)據(jù)、業(yè)務(wù)邏輯的差異性,使得Shuffle的優(yōu)化更通用。
為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供了以下技術(shù)方案:
一種提高M(jìn)apreduce任務(wù)Shuffle性能的控制器調(diào)度方法,包括以下幾個(gè)步驟:
步驟1:用戶提供必備參數(shù);生成控制器,再根據(jù)必備參數(shù)對控制器進(jìn)行定義;
步驟2:加載步驟1中的進(jìn)行定義后的控制器,生成臨時(shí)Mapper任務(wù),采集臨時(shí)Mapper任務(wù)結(jié)果數(shù)據(jù),分析臨時(shí)Mapper任務(wù)中產(chǎn)生的Key,控制器根據(jù)臨時(shí)Mapper任務(wù)的分區(qū)方式確定Reducer任務(wù)的啟動(dòng)節(jié)點(diǎn);
步驟3:啟動(dòng)Mapreduce任務(wù),在進(jìn)行Reducer任務(wù)前調(diào)度步驟2的控制器,確定Reducer任務(wù)的啟動(dòng)節(jié)點(diǎn),啟動(dòng)Reducer任務(wù),最后輸出Mapreduce任務(wù)的最終結(jié)果。
所述步驟1中所述必備參數(shù)包括包括輸入路徑、自定義分區(qū)器、Mapper任務(wù)輸出的KV類型。
具體地,步驟2包括以下幾個(gè)步驟:
步驟2.1:根據(jù)定義的必備參數(shù),生成一個(gè)只有Mapper階段的任務(wù),同時(shí)不輸出KV,分析必備參數(shù),得到臨時(shí)Mapper任務(wù)的啟動(dòng)位置及啟動(dòng)個(gè)數(shù);
步驟2.2:啟動(dòng)步驟2.1的任務(wù),同時(shí)在每個(gè)臨時(shí)Mapper任務(wù)中嵌入統(tǒng)計(jì)Key的計(jì)數(shù)器,該計(jì)數(shù)器對分區(qū)、Key、臨時(shí)Mapper任務(wù)的節(jié)點(diǎn)位置和Key的數(shù)量進(jìn)行動(dòng)態(tài)統(tǒng)計(jì),在每個(gè)臨時(shí)Mapper任務(wù)結(jié)束時(shí)將對應(yīng)的統(tǒng)計(jì)結(jié)果更新到數(shù)據(jù)庫;
步驟2.3:設(shè)運(yùn)行臨時(shí)Mapper任務(wù)的節(jié)點(diǎn)即數(shù)據(jù)塊的節(jié)點(diǎn)有n個(gè),在臨時(shí)Mapper任務(wù)的n個(gè)節(jié)點(diǎn)中選擇任意m個(gè)節(jié)點(diǎn)作為Reducer任務(wù)的運(yùn)行節(jié)點(diǎn),一共有選擇方式,設(shè)其中任一一種選擇方式為一個(gè)分區(qū),對分區(qū)進(jìn)行編號(hào),有m!種編號(hào)方式;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于成都優(yōu)易數(shù)據(jù)有限公司,未經(jīng)成都優(yōu)易數(shù)據(jù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710684587.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種處理串行任務(wù)的數(shù)據(jù)處理裝置及方法
- 一種將MapReduce轉(zhuǎn)換為SQL的方法和裝置
- 一種基于MapReduce的數(shù)據(jù)處理方法和裝置
- MapReduce應(yīng)用的相關(guān)參數(shù)的配置方法和裝置
- MapReduce作業(yè)處理系統(tǒng)、服務(wù)器及處理方法
- 一種考慮任務(wù)相關(guān)性的Hive優(yōu)化方法及系統(tǒng)
- 一種運(yùn)行MapReduce作業(yè)的方法、裝置及系統(tǒng)
- 一種數(shù)據(jù)查詢的優(yōu)化方法和裝置
- 一種Sqoop集成多版本HBase的方法及裝置
- 一種計(jì)算HiveSql執(zhí)行進(jìn)度的方法
- 任務(wù)協(xié)作裝置及方法
- 用于量化任務(wù)價(jià)值的任務(wù)管理方法及裝置
- 用于運(yùn)行任務(wù)的系統(tǒng)、方法和裝置
- 一種分布式任務(wù)調(diào)度系統(tǒng)及方法
- 任務(wù)信息處理方法
- 一種同步任務(wù)異步執(zhí)行的方法和調(diào)度系統(tǒng)
- 數(shù)據(jù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀介質(zhì)
- 一種自動(dòng)分配和推送的任務(wù)管理平臺(tái)及方法
- 程序執(zhí)行控制的裝置及方法、終端和存儲(chǔ)介質(zhì)
- 基于會(huì)話的任務(wù)待辦方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種MapReduce系統(tǒng)
- 一種考慮任務(wù)相關(guān)性的Hive優(yōu)化方法及系統(tǒng)
- 一種針對異構(gòu)存儲(chǔ)的Shuffle方法
- 一種Spark平臺(tái)Shuffle過程壓縮算法決策方法
- 基于內(nèi)核旁路技術(shù)的Hadoop map-reduce計(jì)算加速方法
- 通用流式Shuffle引擎的實(shí)現(xiàn)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 任務(wù)調(diào)度方法、裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 基于Spark架構(gòu)的數(shù)據(jù)均衡分區(qū)方法及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 針對大數(shù)據(jù)處理平臺(tái)Hadoop的攻擊方法
- 一種基于容器的分布式計(jì)算方法和裝置





