yarn 異常: Error when storing the finish data of container

yarn resourcemanager 異常分析:org.apache.hadoop.yarn.server.resourcemanager.ahs.RMApplicationHistoryWriter: Error when storing the finish data of container

在查看yarn resource manager 日志時(shí),發(fā)現(xiàn)存在大量的錯(cuò)誤日志,具體如下:

2018-03-23 14:32:08,979 ERROR org.apache.hadoop.yarn.server.resourcemanager.ahs.RMApplicationHistoryWriter: Error when storing the finish data of container container_1521113577986_48858_01_000020
2018-03-23 14:32:08,980 ERROR org.apache.hadoop.yarn.server.resourcemanager.ahs.RMApplicationHistoryWriter: Error when storing the finish data of container container_1521113577986_48858_01_000018
2018-03-23 14:32:08,980 ERROR org.apache.hadoop.yarn.server.resourcemanager.ahs.RMApplicationHistoryWriter: Error when storing the finish data of container container_1521113577986_48858_01_000002

不用緊張,這個(gè)錯(cuò)誤并不影響程序的正常執(zhí)行。這是由spark-yarn的一個(gè)bug引起,bug編號SPARK-4069,bug發(fā)現(xiàn)時(shí)間為2014-10-23,影響版本為spark-1.1.0及以后,但是官方覺得這個(gè)bug影響不大,所以并沒有修復(fù)的打算。

引發(fā)這個(gè)錯(cuò)誤的原因是,spark作業(yè)在運(yùn)行結(jié)束后,會(huì)直接通知yarn resource manager將ApplciationMaster(也就是driver)注銷掉,而在此之前卻并未先把executors全部注銷,最終yarn只能決定將這些excutors回收掉,而在回收完成時(shí),默認(rèn)會(huì)將一些狀態(tài)信息匯報(bào)給ApplciationMaster進(jìn)行日志記錄,然而此時(shí)ApplciationMaster已經(jīng)先行離去,沒有對象可以匯報(bào),所以就會(huì)報(bào)出這個(gè)異常。

因此,這并不會(huì)對spark作業(yè)運(yùn)行產(chǎn)生任何影響,我覺得spark之所以這么做,且沒有修復(fù)此bug的原因。一是從執(zhí)行速度上考慮,快速釋放資源,簡單粗暴但非常有效,沒有必要在釋放資源上浪費(fèi)過多時(shí)間;二是最后階段的日志信息實(shí)際上沒有什么用處,而且計(jì)算結(jié)束后的事情,spark框架并不關(guān)心,沒有必要把精力放在處理這個(gè)問題上。

附:bug地址:https://issues.apache.org/jira/browse/SPARK-4069

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容