大數(shù)據(jù)運(yùn)維問題記錄(二)

問題描述:一個項目組的同事反應(yīng)他們的集群hive突然出現(xiàn)了問題,走mr就報錯

問題解決:首先問了下他們最近做了些什么操作,說是最近在lib下復(fù)制了一些jar包,后來就出現(xiàn)這個問題,把復(fù)制過來的jar包刪除了也沒用,發(fā)了些日志也只是hive報出來的表面現(xiàn)象,所以還是遠(yuǎn)程協(xié)助進(jìn)行解決,打開resource manager查看到出錯的日志如下

Application application_1464140393518_0021 failed 2 times due to Error launching appattempt_1464140393518_0021_000002. Got exception: org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container.

This token is expired. current time is 1468393291214 found 1468392500369

at sun.reflect.GeneratedConstructorAccessor36.newInstance(Unknown Source)

...

大概意思是在創(chuàng)建container的時候沒有權(quán)限,token過期了,最重要的一點(diǎn)是

current time is 1468393291214 found 1468392500369這說明時間同步可能有問題

讓他們查了一下時間同步是否開啟或者是否設(shè)置,最后查出來是因為ntp服務(wù)啟了,但是可能中間有段時間有問題,服務(wù)器之間時間差異太大,同步時間后,再運(yùn)行就不報這個錯了

查看資料知道nodemanager有個NMLivelinessMonitor服務(wù)

該服務(wù)周期性遍歷所有NodeManager,如果一個NodeManager在一定時間(可通過參數(shù)yarn.nm.liveness-monitor.expiry-interval-ms配置,默認(rèn)為10min)內(nèi)未匯報心跳信息,則認(rèn)為它死掉了,它上面所有正在運(yùn)行的Container將被置為運(yùn)行失?。≧M不會重新執(zhí)行這些Container,它只會通過心跳機(jī)制告訴對應(yīng)的AM,由AM決定是否重新執(zhí)行,如果需要,則AM重新向RM申請資源)。

結(jié)合遇到的這個現(xiàn)象可以得出節(jié)點(diǎn)時間不同步導(dǎo)致時間相差太大,讓nodemanager認(rèn)為在超過10min沒有匯報心跳

所以遇到問題不要只看表面現(xiàn)象,要根據(jù)日志進(jìn)行分析解決

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

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

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