1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        MapReduce中,如果maptask運(yùn)行失敗怎么處理?

        共 1436字,需瀏覽 3分鐘

         ·

        2020-08-12 12:28

        一 常見容錯(cuò)場(chǎng)景分析

        1.1作業(yè)某個(gè)任務(wù)阻塞了,長(zhǎng)時(shí)間占用資源不釋放
        1.2在MapTask任務(wù)運(yùn)行完畢,ReduceTask運(yùn)行過程中,某個(gè)MapTask節(jié)點(diǎn)掛了,或者某個(gè)MapTask結(jié)果存放的那磁盤壞掉了


        二 作業(yè)某個(gè)任務(wù)阻塞了,長(zhǎng)時(shí)間占用資源不釋放

        這種問題通常是由于程序bug,數(shù)據(jù)特性造成的,會(huì)讓程序阻塞,任務(wù)運(yùn)行停滯不前。在我們表面上看來是任務(wù)停滯不前。
        這種問題經(jīng)常發(fā)生,任務(wù)長(zhǎng)時(shí)間占用著資源不釋放,如果不采取一定手段,可能會(huì)永遠(yuǎn)被占用,造成資源泄露。
        在TaskTracker,每個(gè)任務(wù)會(huì)定期向TaskTracker匯報(bào)進(jìn)度,如果進(jìn)度不變則不匯報(bào),這樣一旦達(dá)到超時(shí)限制,TaskTracker會(huì)殺掉該任務(wù),并將任務(wù)狀態(tài)KILLED匯報(bào)給YARN,從而重新調(diào)度該任務(wù)。
        在實(shí)際應(yīng)用場(chǎng)景中,有些正常的作業(yè),其任務(wù)可能長(zhǎng)時(shí)間沒有讀入或者輸出,比如讀取數(shù)據(jù)庫(kù)的MapTask或者需要連接其他外部系統(tǒng)的Task,對(duì)于這類應(yīng)用,在編寫Mapper或Reducer時(shí),應(yīng)當(dāng)啟動(dòng)一個(gè)額外的線程通過Reporter組件定期向TaskTracker匯報(bào)心跳(只是告訴TaskTracker自己還活著,不要把我殺了)。


        三 在MapTask任務(wù)運(yùn)行完畢,ReduceTask運(yùn)行過程中,某個(gè)MapTask節(jié)點(diǎn)掛了,或者某個(gè)MapTask結(jié)果存放的那磁盤壞掉了

        Case1:如果節(jié)點(diǎn)掛掉,JobTracker通過心跳機(jī)制知道TaskTracker死掉了,會(huì)重新調(diào)度之前正在運(yùn)行的Task和正在運(yùn)行的作業(yè)中已經(jīng)運(yùn)行完成的MapTask
        Case2:如果節(jié)點(diǎn)沒有掛,只是存放MapTask結(jié)果的磁盤損壞了,則分兩種情況

        #所有的ReduceTask已經(jīng)完成shuffle階段
        #尚有部分ReduceTask沒有完成shuffle階段,需要讀取該MapTask任務(wù)

        對(duì)于第一種情況,如果所有ReduceTask一路順風(fēng)地運(yùn)行下去,則無需對(duì)已經(jīng)運(yùn)行完成的MapTask作任何處理,如果某些ReduceTask一段時(shí)間后運(yùn)行失敗了,則處理方式與第二種一樣。

        對(duì)于第二種情況,當(dāng)ReduceTask遠(yuǎn)程讀取那個(gè)已經(jīng)運(yùn)行完成的MapTask結(jié)果(但結(jié)果已經(jīng)損壞)時(shí),會(huì)嘗試讀取若干次,如果嘗試次數(shù)超過了某個(gè)上限值,則會(huì)通過RPC告訴所在的TaskTracker該MapTask結(jié)果已經(jīng)損壞,而TaskTracker則進(jìn)一步通過RPC告訴JobTracker,JobTracker收到該消息后,會(huì)重新調(diào)度該MapTask,進(jìn)而重新計(jì)算生成結(jié)果。


        原文:

        cnblogs.com/OYziqing/p/10382372.html


        --end--


        掃描下方二維碼
        添加好友,備注【交流群
        拉你到學(xué)習(xí)路線和資源豐富的交流群
        瀏覽 54
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            美女被男人操逼 | 日韩人人干 | 成年人免费片 | 成人影院在线观看无码内设 | 日日骚av一区二区三区 | 天天爱天天草 | 午夜天堂在线观看 | 欧美aaaa大片 | 九九成人免费视频 | 91 国产 爽爽黄 |