1. 程式人生 > >Uncaught exception while reverting partial writes to file ...(Too many open files)

Uncaught exception while reverting partial writes to file ...(Too many open files)

在用一個新的spark叢集 處理業務時,處理的任務量稍微大一點,涉及到較多的map和reduce的任務式就會報下列錯誤:

 

開始以為是spark叢集的記憶體沒給夠,因為在另一個更大叢集中和自己只有6g的單機上跑都沒有問題,但嘗試加大叢集執行記憶體和叢集worker和executor數量後仍然報同樣地錯誤。在技術群裡問了一下,有人提示說是centos系統的系統引數沒有設定好,沿著這個線索對比了出問題的spark叢集的系統引數後:

       有問題的叢集                                                                                         能跑的叢集

發現有問題的max user processes  (-u) 僅為1024 ,在把max user processes更改到最大值時,重啟後原先的問題就消失了。

更改後(在更改的過程中順手也把open files 的數量也加到了最大)

centos系統引數的更改方法參見部落格1部落格2

折磨我多日的問題終於解決。