MapReduce中,如果maptask運行失敗怎么處理?程序源代碼關(guān)注共 1436字,需瀏覽 3分鐘 ·2020-08-12 12:28 一 常見容錯場景分析 1.1作業(yè)某個任務(wù)阻塞了,長時間占用資源不釋放 1.2在MapTask任務(wù)運行完畢,ReduceTask運行過程中,某個MapTask節(jié)點掛了,或者某個MapTask結(jié)果存放的那磁盤壞掉了 二 作業(yè)某個任務(wù)阻塞了,長時間占用資源不釋放 這種問題通常是由于程序bug,數(shù)據(jù)特性造成的,會讓程序阻塞,任務(wù)運行停滯不前。在我們表面上看來是任務(wù)停滯不前。 這種問題經(jīng)常發(fā)生,任務(wù)長時間占用著資源不釋放,如果不采取一定手段,可能會永遠(yuǎn)被占用,造成資源泄露。 在TaskTracker,每個任務(wù)會定期向TaskTracker匯報進度,如果進度不變則不匯報,這樣一旦達到超時限制,TaskTracker會殺掉該任務(wù),并將任務(wù)狀態(tài)KILLED匯報給YARN,從而重新調(diào)度該任務(wù)。 在實際應(yīng)用場景中,有些正常的作業(yè),其任務(wù)可能長時間沒有讀入或者輸出,比如讀取數(shù)據(jù)庫的MapTask或者需要連接其他外部系統(tǒng)的Task,對于這類應(yīng)用,在編寫Mapper或Reducer時,應(yīng)當(dāng)啟動一個額外的線程通過Reporter組件定期向TaskTracker匯報心跳(只是告訴TaskTracker自己還活著,不要把我殺了)。 三 在MapTask任務(wù)運行完畢,ReduceTask運行過程中,某個MapTask節(jié)點掛了,或者某個MapTask結(jié)果存放的那磁盤壞掉了 Case1:如果節(jié)點掛掉,JobTracker通過心跳機制知道TaskTracker死掉了,會重新調(diào)度之前正在運行的Task和正在運行的作業(yè)中已經(jīng)運行完成的MapTask Case2:如果節(jié)點沒有掛,只是存放MapTask結(jié)果的磁盤損壞了,則分兩種情況 #所有的ReduceTask已經(jīng)完成shuffle階段 #尚有部分ReduceTask沒有完成shuffle階段,需要讀取該MapTask任務(wù) 對于第一種情況,如果所有ReduceTask一路順風(fēng)地運行下去,則無需對已經(jīng)運行完成的MapTask作任何處理,如果某些ReduceTask一段時間后運行失敗了,則處理方式與第二種一樣。 對于第二種情況,當(dāng)ReduceTask遠(yuǎn)程讀取那個已經(jīng)運行完成的MapTask結(jié)果(但結(jié)果已經(jīng)損壞)時,會嘗試讀取若干次,如果嘗試次數(shù)超過了某個上限值,則會通過RPC告訴所在的TaskTracker該MapTask結(jié)果已經(jīng)損壞,而TaskTracker則進一步通過RPC告訴JobTracker,JobTracker收到該消息后,會重新調(diào)度該MapTask,進而重新計算生成結(jié)果。 原文: cnblogs.com/OYziqing/p/10382372.html --end-- 掃描下方二維碼 添加好友,備注【交流群】 拉你到學(xué)習(xí)路線和資源豐富的交流群 瀏覽 54點贊 評論 收藏 分享 手機掃一掃分享分享 舉報 評論圖片表情視頻評價全部評論推薦 MapReduce源碼解析之MapTaskMapper 源碼分析了MapReduce提交任務(wù)過程中主要的切片計算之后,接下來就要看計算程序到達切片所在數(shù)據(jù)節(jié)點后,該如何進行工作。public class Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> {/** * The <code&...Kafka如果丟了消息,怎么處理的?公眾號程序猿DD0Kafka如果丟了消息,怎么處理的?JAVA葵花寶典0項目失敗如何處理?①開始前,我們的專人經(jīng)理會協(xié)助您和開發(fā)者確認(rèn)需求細(xì)則,必要時簽署合同,盡量規(guī)避沖突發(fā)生。 ②如果真的發(fā)生了不可調(diào)和的沖突,會安排專人進行項目仲裁,確認(rèn)權(quán)責(zé)。 ③根據(jù)仲裁結(jié)果,會幫助您對接新的開發(fā)者,或者安排退款。市場是怎么失敗的危機之后的反思—— ·激勵機制如何發(fā)揮作用? ·自由市場會產(chǎn)生什么風(fēng)險? ·政府應(yīng)圖像處理怎么入門新機器視覺0市場是怎么失敗的市場是怎么失敗的0C++核心準(zhǔn)則E.26:如果無法拋出異常,盡快進行失敗處理?面向?qū)ο笏伎?/div>0CPU中的程序是怎么運行起來的良許Linux0CPU中的程序是怎么運行起來的李肖遙0點贊 評論 收藏 分享 手機掃一掃分享分享 舉報 欧美一交一乱一交一色一色情 | 中文字幕无码视频免费 | 亚洲AV无码精品成人影院麻豆 | 日韩AV在线免费观看 | 4438成人网丁香五月五月天 |