Spark Job執(zhí)行變慢問題的排查的流程

最近一個(gè)從Hbase撈取數(shù)據(jù)進(jìn)行統(tǒng)計(jì)值的Spark Job 計(jì)算經(jīng)常報(bào)警,執(zhí)行時(shí)間大大超過以前的平均執(zhí)行時(shí)間。
于是打開一個(gè)application


image.png

發(fā)現(xiàn)這個(gè)application 有4個(gè)job,如上圖所示,但是執(zhí)行時(shí)間有點(diǎn)長(zhǎng)。
于是我點(diǎn)開正在執(zhí)行的job
然后點(diǎn)開一個(gè)執(zhí)行比較的stage
在頁面點(diǎn)開event TimeLine 看到如下


image.png

居然有一個(gè)task執(zhí)行特別慢,剛開始以為是數(shù)據(jù)傾斜,后來仔細(xì)一看數(shù)據(jù)量和其他task是一致的。所以頓時(shí)懷疑是這臺(tái)機(jī)器是要么有硬件問題,要么就是資源不夠了。
于是登陸這臺(tái)機(jī)器
top 一下 在 加 Shift + m 按照內(nèi)存排序
image.png

內(nèi)存和cpu 看起來都o(jì)k,那是不是磁盤滿了?
再看


image.png

看起來磁盤容量也沒問題啊。
沒啥辦法,于是我又去我們ganggalia上去看讀寫等指標(biāo)
讀寫次數(shù)和其他機(jī)器也沒有太大的區(qū)別。
是不是讀寫hbase有問題,于是查看hbase相關(guān)的監(jiān)控,發(fā)現(xiàn)數(shù)據(jù)分布均勻,而且沒有什么異常。比如超時(shí)的
然后我想看看磁盤的讀寫速度吧
輸入
iostat -x


image.png

突然發(fā)現(xiàn)上圖中的有一個(gè)w-wait 也就是寫入耗時(shí),都到了300多ms了,然后我又看了一下其他機(jī)器的w-wait 發(fā)現(xiàn)都是20以下,所以基本斷定是這個(gè)磁盤的問題了。然后通知運(yùn)維,讓運(yùn)維換盤。
問題解決。


image.png

總結(jié)一下步驟:

1、查看spark日志,err日志等看是否有什么異常(常見的網(wǎng)絡(luò),連接問題,磁盤空間等異常常見)
2、查看每個(gè)stage 數(shù)據(jù)是否發(fā)生切斜,
3、確認(rèn)持久化級(jí)別,是否是全部?jī)?nèi)存,查看是否出現(xiàn)spillToDisk
4、查看是否有單個(gè)節(jié)點(diǎn)執(zhí)行時(shí)間比較長(zhǎng)
5、登陸有問題的節(jié)點(diǎn),查看load,內(nèi)存以及網(wǎng)絡(luò)屬性
6、查看磁盤讀寫情況

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

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

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