中文字幕 日本 在线 高清,精品久久久久久久久久久国产字幕,漂亮人妻洗澡被公强日日躁,西西4444wwww大胆视频

MapReduce開發(fā)運行的精簡原理(mapreduce開發(fā)流程)

作者:黑馬程序員
鏈接:https://zhuanlan.zhihu.com/p/81237437
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

簡單介紹

相信關(guān)于Hadoop中MapReduce的相關(guān)文章會很多,這里只簡單介紹一下MapReduce的相關(guān)知識。

Hadoop的MapReduce來源于Google公司的三篇論文中的MapReduce,其核心思想是“分而治之”

Map負(fù)責(zé)“分”,即把復(fù)雜的任務(wù)分解為若干個“簡單的任務(wù)”來并行處理??梢赃M(jìn)行拆分的前提是這些小任務(wù)可以并行計算,彼此間幾乎沒有依賴關(guān)系。

Reduce負(fù)責(zé)“合”,即對map階段的結(jié)果進(jìn)行全局匯總。

現(xiàn)階段MapReduce一般運行在Hadoop2.x版本的yarn資源平臺上,具體運行過程后面會有詳細(xì)說明。

MapReduce編程規(guī)范

MapReduce 的開發(fā)一共有八個步驟, 其中 Map 階段分為 2 個步驟,Shuffle 階段 4 個步驟,Reduce 階段分為 2 個步驟

Map 階段 2 個步驟

1)設(shè)置 InputFormat 類, 將數(shù)據(jù)切分為 Key-Value(K1和V1) 對, 輸入到第二步

2)自定義 Map 邏輯, 將第一步的結(jié)果轉(zhuǎn)換成另外的 Key-Value(K2和V2) 對, 輸出結(jié)果

Shuffle 階段 4 個步驟

3)對輸出的 Key-Value 對進(jìn)行分區(qū)

4)對不同分區(qū)的數(shù)據(jù)按照相同的 Key 排序

5)(可選) 對分組過的數(shù)據(jù)初步規(guī)約, 降低數(shù)據(jù)的網(wǎng)絡(luò)拷貝

6)對數(shù)據(jù)進(jìn)行分組, 相同 Key 的 Value 放入一個集合中

Reduce 階段 2 個步驟

7)對多個 Map 任務(wù)的結(jié)果進(jìn)行排序以及合并, 編寫 Reduce 函數(shù)實現(xiàn)自己的邏輯, 對輸入的 Key-Value 進(jìn)行處理, 轉(zhuǎn)為新的 Key-Value(K3和V3)輸出

8)設(shè)置 OutputFormat 處理并保存 Reduce 輸出的 Key-Value 數(shù)據(jù)

MapReduce開發(fā)運行的精簡原理(mapreduce開發(fā)流程)

MapReduce的步驟圖

yarn資源調(diào)度

yarn是hadoop集群當(dāng)中的資源管理系統(tǒng)模塊,從hadoop2.0開始引入yarn模塊,yarn可為各類計算框架提供資源的管理和調(diào)度,主要用于管理集群當(dāng)中的資源(主要是服務(wù)器的各種硬件資源,包括CPU,內(nèi)存,磁盤,網(wǎng)絡(luò)IO等)以及調(diào)度運行在yarn上面的各種任務(wù)。

相比于hadoop1.x版本,yarn核心出發(fā)點是為了分離資源管理與作業(yè)監(jiān)控,實現(xiàn)分離的做法是擁有一個全局的資源管理ResourceManager(RM),以及每個應(yīng)用程序?qū)?yīng)一個的應(yīng)用管理器ApplicationMaster(AM)。

總結(jié)一句話就是說:yarn主要就是為了調(diào)度資源,管理任務(wù)。

YARN總體上是Master/Slave結(jié)構(gòu),主要由ResourceManager、NodeManager、 ApplicationMaster和Container等幾個組件構(gòu)成。

ResourceManager(RM) 負(fù)責(zé)處理客戶端請求,對各NM上的資源進(jìn)行統(tǒng)一管理和調(diào)度。給ApplicationMaster分配空閑的Container 運行并監(jiān)控其運行狀態(tài)。主要由兩個組件構(gòu)成:調(diào)度器和應(yīng)用程序管理器:

調(diào)度器(Scheduler):調(diào)度器根據(jù)容量、隊列等限制條件,將系統(tǒng)中的資源分配給各個正在運行的應(yīng)用程序。調(diào)度器僅根據(jù)各個應(yīng)用程序的資源需求進(jìn)行資源分配,而資源分配單位是Container。Shceduler不負(fù)責(zé)監(jiān)控或者跟蹤應(yīng)用程序的狀態(tài)。總之,調(diào)度器根據(jù)應(yīng)用程序的資源要求,以及集群機(jī)器的資源情況,為應(yīng)用程序分配封裝在Container中的資源。

應(yīng)用程序管理器(Applications Manager):應(yīng)用程序管理器負(fù)責(zé)管理整個系統(tǒng)中所有應(yīng)用程序,包括應(yīng)用程序提交、與調(diào)度器協(xié)商資源以啟動ApplicationMaster 、監(jiān)控ApplicationMaster運行狀態(tài)并在失敗時重新啟動等,跟蹤分給的Container的進(jìn)度、狀態(tài)也是其職責(zé)。

NodeManager (NM) NodeManager 是每個節(jié)點上的資源和任務(wù)管理器。它會定時地向ResourceManager匯報本節(jié)點上的資源使用情況和各個Container的運行狀態(tài);同時會接收并處理來自ApplicationMaster 的Container 啟動/停止等請求。

ApplicationMaster (AM): 用戶提交的應(yīng)用程序均包含一個ApplicationMaster ,負(fù)責(zé)應(yīng)用的監(jiān)控,跟蹤應(yīng)用執(zhí)行狀態(tài),重啟失敗任務(wù)等。ApplicationMaster是應(yīng)用框架,它負(fù)責(zé)向ResourceManager協(xié)調(diào)資源,并且與NodeManager協(xié)同工作完成Task的執(zhí)行和監(jiān)控。

Container: Container是YARN中的資源抽象,它封裝了某個節(jié)點上的多維度資源,如內(nèi)存、CPU、磁盤、網(wǎng)絡(luò)等,當(dāng)ApplicationMaster向ResourceManager申請資源時,ResourceManager為ApplicationMaster 返回的資源便是用Container 表示的。

yarn的架構(gòu)和工作流程

MapReduce開發(fā)運行的精簡原理(mapreduce開發(fā)流程)

步驟分析:

  1. 客戶端通過命令(hadoop jar xxx.jar)提交上傳任務(wù)到主節(jié)點ResourceManager(RM)中的ApplicationManager進(jìn)程
  2. 主節(jié)點RM判斷集群狀態(tài),選擇一臺NodeManager(NM),開啟一塊資源Container,用來開啟AppMaster進(jìn)程
  3. AppMaster進(jìn)程獲取RM接收的任務(wù)請求,進(jìn)行任務(wù)分配
  4. AppMaster根據(jù)任務(wù)情況向RM中的ResourceScheduler索要資源分配方案
  5. AppMaster根據(jù)資源分配方案找到到各個NodeManager從節(jié)點
  6. 在從節(jié)點上開啟資源Container,并運行任務(wù)Task
  7. AppMaster獲取各個Task上傳的任務(wù)執(zhí)行進(jìn)度和結(jié)果
  8. AppMaster將任務(wù)執(zhí)行的結(jié)果返回給ApplicationManager

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。

(0)
上一篇 2023年5月14日 上午10:28
下一篇 2023年5月14日 上午10:44

相關(guān)推薦

  • 生產(chǎn)計劃進(jìn)度管理系統(tǒng)

    生產(chǎn)計劃進(jìn)度管理系統(tǒng) 生產(chǎn)計劃進(jìn)度管理系統(tǒng)是一種用于協(xié)調(diào)和管理工廠生產(chǎn)的軟件系統(tǒng),可以幫助企業(yè)確保生產(chǎn)計劃的執(zhí)行進(jìn)度和質(zhì)量,提高生產(chǎn)效率和降低成本。 在生產(chǎn)計劃進(jìn)度管理系統(tǒng)中,企業(yè)…

    科研百科 2025年1月11日
    4
  • 注冊監(jiān)理工程師概論部分總結(jié)歸納(注冊監(jiān)理工程師概論部分總結(jié)歸納)

    有意向考一個注冊監(jiān)理工程師,對教材讀過兩次之后,按考試大綱總結(jié)以下內(nèi)容分享,將做成一個系列文章,首先進(jìn)行的是監(jiān)理工程師概論部分的歸納,將進(jìn)行注冊監(jiān)理工程師《建設(shè)工程監(jiān)理基本理論和相…

    科研百科 2022年11月17日
    439
  • 珠??蒲许椖?

    珠海科研項目 珠海是中國廣東省的一個城市,被譽(yù)為“珠江三角洲的明珠”。這座城市擁有著悠久的歷史和文化底蘊(yùn),同時也擁有豐富的自然資源和優(yōu)美的風(fēng)景。近年來,珠海政府致力于推動科技創(chuàng)新,…

    科研百科 2025年2月14日
    3
  • 象棋電腦版哪個軟件好

    象棋電腦版哪個軟件好? 隨著計算機(jī)技術(shù)的不斷發(fā)展,現(xiàn)在有許多象棋電腦版軟件可供使用。對于象棋愛好者來說,選擇一個好的軟件可以大大提高象棋技巧和棋藝。在這篇文章中,我們將討論一些常見…

    科研百科 2024年10月26日
    2
  • 課題問題項目的關(guān)系

    課題問題項目的關(guān)系 課題問題項目的關(guān)系是項目管理中至關(guān)重要的一部分,它涉及到項目的范圍、質(zhì)量、時間和成本等方面。在項目管理中,課題問題項目的關(guān)系被稱為“項目組合”,它是項目管理的核…

    科研百科 2024年10月26日
    1
  • 科研項目經(jīng)濟(jì)評價

    科研項目經(jīng)濟(jì)評價 科研項目經(jīng)濟(jì)評價是指對科研項目的經(jīng)濟(jì)成本、經(jīng)濟(jì)效益和社會效益進(jìn)行綜合評估的過程。科研項目經(jīng)濟(jì)評價是科研項目管理中非常重要的一環(huán),它可以幫助項目管理者和投資者更好地…

    科研百科 2025年3月27日
    6
  • 科研經(jīng)費審計案例(科研經(jīng)費審計特點)

    科技專項審計應(yīng)關(guān)注的六方面18項內(nèi)容 榮煦 原標(biāo)題:開展科技專項審計應(yīng)關(guān)注的重點內(nèi)容 科技專項審計是審計機(jī)關(guān)針對國家和地區(qū)出臺的重大科技政策和重要科技相關(guān)制度落實情況,國家和地區(qū)的…

    科研百科 2022年5月14日
    688
  • 梳理合同管理辦法

    合同管理辦法 一、總則 《中華人民共和國合同管理辦法》是為加強(qiáng)合同管理,規(guī)范合同行為,保護(hù)當(dāng)事人的合法權(quán)益,根據(jù)法律法規(guī)的規(guī)定,制定于2002年1月1日實施的。 二、適用范圍 《中…

    科研百科 2024年9月25日
    9
  • 2024年黨建品牌創(chuàng)建方案

    2024年黨建品牌創(chuàng)建方案 近年來,隨著社會的不斷發(fā)展,中國共產(chǎn)黨在新時代中面臨著前所未有的挑戰(zhàn)和機(jī)遇。為了更好地適應(yīng)新時代的要求,提高黨的建設(shè)質(zhì)量和水平,2024年黨建品牌創(chuàng)建方…

    科研百科 2024年10月14日
    93
  • 項目管理與系統(tǒng)工程

    項目管理與系統(tǒng)工程 項目管理和系統(tǒng)工程是當(dāng)代項目管理領(lǐng)域中最為重要的兩個概念之一。這兩個概念都是為了解決復(fù)雜的問題而提出的,都有著廣泛的應(yīng)用。 項目管理是指為了達(dá)成特定的目標(biāo),通過…

    科研百科 2025年1月22日
    5