溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JVM GC導致的shuffle文件拉取失敗怎么辦

發(fā)布時間:2021-12-16 15:01:35 來源:億速云 閱讀:104 作者:iii 欄目:云計算

本篇內(nèi)容主要講解“JVM GC導致的shuffle文件拉取失敗怎么辦”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JVM GC導致的shuffle文件拉取失敗怎么辦”吧!

        有時會出現(xiàn)的一種情況,非常普遍,在spark的作業(yè)中;shuffle file not found。(spark作業(yè)中,非常非常常見的)而且,有的時候,它是偶爾才會出現(xiàn)的一種情況。有的時候,出現(xiàn)這種情況以后,會重新去提交stage、task。重新執(zhí)行一遍,發(fā)現(xiàn)就好了。沒有這種錯誤了。

log怎么看?

  • 用client模式去提交你的spark作業(yè)。比如standalone client;yarn client。一提交作業(yè),直接可以在本地看到刷刷刷更新的log。

  • spark.shuffle.io.maxRetries 3
    //意思就是說,shuffle文件拉取的時候,如果沒有拉取到(拉取失敗),最多或重試幾次(會重新拉取幾次文件),默認是3次。
    
    spark.shuffle.io.retryWait 5s
    //意思就是說,每一次重試拉取文件的時間間隔,默認是5s鐘。


  • 默認情況下,假如說第一個stage的executor正在進行漫長的full gc。第二個stage的executor嘗試去拉取文件,結(jié)果沒有拉取到,默認情況下,會反復重試拉取3次,每次間隔是五秒鐘。最多只會等待3 * 5s = 15s。如果15s內(nèi),沒有拉取到shuffle file。就會報出shuffle file not found。

  • 針對這種情況,我們完全可以進行預備性的參數(shù)調(diào)節(jié)。增大上述兩個參數(shù)的值,達到比較大的一個值,盡量保證第二個stage的task,一定能夠拉取到上一個stage的輸出文件。避免報shuffle file not found。然后可能會重新提交stage和task去執(zhí)行。那樣反而對性能也不好。

    spark.shuffle.io.maxRetries 60
    spark.shuffle.io.retryWait 60s
  • 最多可以忍受1個小時沒有拉取到shuffle file。只是去設置一個最大的可能的值。full gc不可能1個小時都沒結(jié)束吧(低概率,沒有絕對)。這樣呢,就可以盡量避免因為gc導致的shuffle file not found,無法拉取到的問題。

    到此,相信大家對“JVM GC導致的shuffle文件拉取失敗怎么辦”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

    向AI問一下細節(jié)

    免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

    AI