日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【Hadoop】MapReduce笔记(二):MapReduce容错,任务失败处理

發(fā)布時(shí)間:2024/1/17 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Hadoop】MapReduce笔记(二):MapReduce容错,任务失败处理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

典型問(wèn)題:Hadoop如何判斷一個(gè)任務(wù)失敗?失敗了怎么做?

分析:實(shí)際情況下,用戶代碼存在軟件錯(cuò)誤、進(jìn)程崩潰、機(jī)器故障等都會(huì)導(dǎo)致失敗。Hadoop判斷的失敗有不同級(jí)別類型,針對(duì)不同級(jí)別的失敗有不同的處理對(duì)策,這就是MapReduce的容錯(cuò)機(jī)制。下面是幾個(gè)不同級(jí)別失敗的分類:

一、任務(wù)失敗

分為3種情況:Task失敗、子進(jìn)程JVM退出、超時(shí)檢測(cè)被關(guān)閉。

1.任務(wù)失敗。最常見的是Map或Reduce任務(wù)的失敗,即寫的本身MR代碼導(dǎo)致失敗。發(fā)生Map或Reduce失敗的時(shí)候,子任務(wù)JVM進(jìn)程會(huì)在退出之前向上一級(jí)TaskTracker發(fā)送錯(cuò)誤報(bào)告。錯(cuò)誤報(bào)告最后悔記錄在用戶的錯(cuò)誤日志里面,TaskTracker會(huì)將此次task attempt標(biāo)記為failed,釋放一個(gè)任務(wù)槽slot用來(lái)運(yùn)行另一個(gè)任務(wù)。

2. 子進(jìn)程JVM突然退出。可能由于JVM的bug導(dǎo)致,從而導(dǎo)致MapReduce用戶代碼執(zhí)行失敗。在這種情況下,TaskTracker會(huì)監(jiān)控到進(jìn)程以便退出,并將此次嘗試標(biāo)記為“failed”失敗。

3. 關(guān)閉了超時(shí)連接(把超時(shí)timeout設(shè)置成0)。所以長(zhǎng)時(shí)間運(yùn)行的任務(wù)永不會(huì)被標(biāo)記failed。在這種情況下,被掛起的任務(wù)永遠(yuǎn)不會(huì)釋放其所占用的任務(wù)槽slot,并隨時(shí)間推移會(huì)降低整個(gè)集群的性能。


二、TaskTracker失敗

???? ? ?正常情況下,TaskTracker 會(huì)通過(guò)心跳向 JobTracker 通信,如果發(fā)生故障,心跳減少, JobTracker 會(huì)將TaskTracker 從等待任務(wù)調(diào)度的池中移除,安排上一個(gè)成功運(yùn)行的 Map 任務(wù)返回。

主要有兩種情況:

1.Map?階段的情況。如果屬于未完成的作業(yè),Reduce 階段無(wú)法獲取本地 Map 輸出的文件結(jié)果,任務(wù)都需要重新調(diào)度和執(zhí)行,只要是Map階段失敗必然是重新執(zhí)行這個(gè)任務(wù)。

2.Reduce?階段的情況。自然是執(zhí)行未完成的 Reduce 任務(wù)。因?yàn)?Reduce 只要執(zhí)行完了就會(huì)把輸出寫到 HDFS 上。

?

三、JobTracker失敗

? ? 最嚴(yán)重的情況就是 JobTracker 失敗,并且這情況在單點(diǎn)故障時(shí)是最嚴(yán)重的,因?yàn)榇饲闆r下作業(yè)最終失敗

??? 解決方案是啟動(dòng)多個(gè) JobTracker ,只運(yùn)行主 JobTracker ,其可以通過(guò) ZooKeeper 來(lái)協(xié)調(diào)。

?

四、任務(wù)失敗重試

? ? ? ? 當(dāng) MapTask 執(zhí)行失敗后會(huì)重試,超過(guò)重試次數(shù)(默認(rèn)為4,整個(gè)Job會(huì)失敗

? ? ? ? Hadoop 提供配置參數(shù) mapred.max.ap.failures.percent 解決這個(gè)問(wèn)題。如果一個(gè) Job 有 200 個(gè) MapTask ,參數(shù)設(shè)置為5,則單個(gè)?Job?最多允許 10 個(gè) MapTask 失敗(200×5%=10),其可以在配置文件 mapred-site.xml 里修改。

轉(zhuǎn)載于:https://www.cnblogs.com/DianaCody/p/5425659.html

總結(jié)

以上是生活随笔為你收集整理的【Hadoop】MapReduce笔记(二):MapReduce容错,任务失败处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。