成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

MapReduce的工作機(jī)制是什么

本篇內(nèi)容主要講解“MapReduce的工作機(jī)制是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“MapReduce的工作機(jī)制是什么”吧!

創(chuàng)新互聯(lián)專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、馬尾網(wǎng)絡(luò)推廣、成都微信小程序、馬尾網(wǎng)絡(luò)營(yíng)銷(xiāo)、馬尾企業(yè)策劃、馬尾品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供馬尾建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:jinyejixie.com

剖析MapReduce 作業(yè)運(yùn)行機(jī)制

靜態(tài)圖:

MapReduce的工作機(jī)制是什么

動(dòng)態(tài)圖:

MapReduce的工作機(jī)制是什么

進(jìn)度和狀態(tài)的更新

MapReduce的工作機(jī)制是什么

失敗

  • map任務(wù)或reduce 任務(wù)中的用戶(hù)代碼拋出運(yùn)行異常

  • JVM突然退出

  • 節(jié)點(diǎn)管理器運(yùn)行失敗

  • 資源管理器運(yùn)行失敗

    • 獲得高可用性,HA, 在雙機(jī)熱備模式下,運(yùn)行一對(duì)資源管理器是必要的

shuffle 和排序

  • MapReduce 確保每個(gè)reducer 的輸入都是按鍵排序的。系統(tǒng)執(zhí)行排序、將map輸出作為輸入傳給reducer的過(guò)程稱(chēng)為shuffle.

  • map 端

    map 函數(shù)開(kāi)始產(chǎn)生輸出時(shí),并不是簡(jiǎn)單地將它寫(xiě)入到磁盤(pán)。這個(gè)過(guò)程更為復(fù)雜,它利用緩沖的方式寫(xiě)到內(nèi)存并出于效率的考慮進(jìn)行預(yù)排序。

    每個(gè)map任務(wù)都有一個(gè)環(huán)形內(nèi)存緩沖區(qū)用于存儲(chǔ)任務(wù)存儲(chǔ)任務(wù)輸出。在默認(rèn)情況下,緩沖區(qū)的大小為100Mb,這個(gè)值可以通過(guò)改變mapreduce.task.io.sort.mb性來(lái)調(diào)整。一但鍰沖內(nèi)容達(dá)到閾值(mapreduce.map.sort.spill.percent,默認(rèn)為0.80,或80%),一個(gè)后臺(tái)線程便開(kāi)始把內(nèi)容溢出(spill)到磁盤(pán)。在溢出寫(xiě)到磁盤(pán)過(guò)程中,map輸出繼續(xù)寫(xiě)到緩沖區(qū),但如果在此期間緩沖區(qū)被填滿,map會(huì)被阻塞直到寫(xiě)磁盤(pán)過(guò)程完成。溢出寫(xiě)過(guò)程按輪詢(xún)方式將緩沖區(qū)中的內(nèi)容寫(xiě)到mapreduce.cluster.local.dir屬性在作業(yè)特定子目錄下指定的目錄中。

    在寫(xiě)磁盤(pán)之前,線程首先根據(jù)數(shù)據(jù)最終要傳的reducer把數(shù)據(jù)劃分成相應(yīng)的分區(qū)(partition)。在每個(gè)分區(qū)中,后臺(tái)線程按鍵進(jìn)行內(nèi)存中排序,如果有一個(gè)combiner函數(shù),它就在排序后的輸出上運(yùn)行。運(yùn)行combiner函數(shù)使得map輸出結(jié)果更緊湊,因此減少寫(xiě)到磁盤(pán)的數(shù)據(jù)和傳遞給reducer的數(shù)據(jù)。

    每次內(nèi)存緩沖區(qū)達(dá)到溢出閾值,就會(huì)新建一個(gè)溢出文件(spill file),因此在map任務(wù)寫(xiě)完其最后一個(gè)輸出記錄之后,會(huì)有幾個(gè)溢出文件。在任務(wù)完成之前,溢出文件被合并成一個(gè)已分區(qū)且已排序的輸出文件。配置屬性mapreduce.task.io.sort.factor控制著一次最多能合并多少流,默認(rèn)值是10。

    如果至少存在3個(gè)溢出文件(通過(guò)mapreduce.map.combine.minspills屬性設(shè)置)時(shí),則combiner就會(huì)在輸出文件寫(xiě)到磁盤(pán)之前再次運(yùn)行。前面曾講過(guò),combiner可以在輸人上反復(fù)運(yùn)行,但并不影響最終結(jié)果。如果只有1或2個(gè)溢出文件,那么由于map輸出規(guī)模減少,因而不值得調(diào)用combiner帶來(lái)的開(kāi)銷(xiāo),因此不會(huì)為該map輸出再次運(yùn)行combiner。

    在將壓縮map輸出寫(xiě)到磁盤(pán)的過(guò)程中對(duì)它進(jìn)行壓縮往往是個(gè)很好的主意,因?yàn)檫@樣會(huì)寫(xiě)磁盤(pán)的速度更快,節(jié)約磁盤(pán)空間,并且減少傳給reducer的數(shù)據(jù)量。在默認(rèn)情況下,輸出是不壓縮的,但只要將mapreduce.map.output.compress設(shè)置為true,就可以輕松啟用此功能。使用的壓縮庫(kù)由mapreduce.map.output.compress.codec指定。

    reducer通過(guò)HTTP得到輸出文件的分區(qū)。用于文件分區(qū)的工作線程的數(shù)量由任務(wù)的mapreduce.shuffle.max.threads屬性控制,此設(shè)置針對(duì)的是每一個(gè)節(jié)點(diǎn)管理器,而不是針對(duì)每個(gè)map任務(wù)。默認(rèn)值0將最大線程數(shù)設(shè)置為機(jī)器中處理器數(shù)量的兩倍。

    • 給shuffle 過(guò)程盡量多提供內(nèi)存空間

    • 寫(xiě)map函數(shù)和reduce 函數(shù)時(shí)盡量少用內(nèi)存,不應(yīng)該無(wú)限使用內(nèi)存

    • 在map端,可以通過(guò)避免多次溢出寫(xiě)磁盤(pán)來(lái)獲得最佳性能

    • 在reduce端,中間數(shù)據(jù)全部駐留在內(nèi)存時(shí),就能獲得最佳性能

    • reduce 端

    • 配置調(diào)優(yōu)

任務(wù)的執(zhí)行

  • 推測(cè)執(zhí)行 并行執(zhí)行過(guò)程中,對(duì)于拖后腿的任務(wù),Hadoop不會(huì)嘗試診斷或修復(fù)執(zhí)行緩慢的任務(wù),相反,在一個(gè)任務(wù)運(yùn)行比預(yù)期慢的時(shí)候,它會(huì)盡量檢測(cè),并啟動(dòng)另一個(gè)相同的任務(wù)作為備份。這就是所謂的“推測(cè)執(zhí)行”

  • OutputCommitters

hadoop MapReduce 使用一個(gè)提交協(xié)議來(lái)確保作業(yè)和任務(wù)都完全成功或失敗。這個(gè)行為通過(guò)對(duì)作業(yè)使用OutputCommitters 來(lái)實(shí)現(xiàn)

到此,相信大家對(duì)“MapReduce的工作機(jī)制是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

標(biāo)題名稱(chēng):MapReduce的工作機(jī)制是什么
本文來(lái)源:http://jinyejixie.com/article46/gdpseg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、品牌網(wǎng)站建設(shè)ChatGPT網(wǎng)站設(shè)計(jì)公司、虛擬主機(jī)、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
涿州市| 自贡市| 玉山县| 永泰县| 昭通市| 南华县| 比如县| 嘉鱼县| 胶南市| 井陉县| 道孚县| 和龙市| 柳河县| 山阳县| 蕉岭县| 柏乡县| 香格里拉县| 庆安县| 永仁县| 中西区| 合江县| 迭部县| 汾阳市| 溧水县| 龙南县| 广元市| 庆阳市| 陇西县| 沙雅县| 阜平县| 吉木萨尔县| 金华市| 衢州市| 沅江市| 呼玛县| 北辰区| 高台县| 德昌县| 泰安市| 漳浦县| 旬阳县|