關於sparkStreaming(spark on yarn)的一個坑!


前些天我維護的一個streaming實時報表掛了,情況:數據無法實時更新增長,然后查看了報表所依賴的五張sqlserver的表,發現,只有1張的數據是正常寫入的,還一張數據非正常寫入,還有3張完全沒有數據寫入.剛開始認為是不是數據庫鏈接出問題了,但是!!!!我們的一個spark on yarn的批處理恢復實時數據的任務可以正常運作!而且5張表都可以正常寫入,修改,刪除,於是我查看了streaming任務的節點的nodemanager的日志

正常啊!內存和磁盤空間使用都正常!看來不是OOM問題

但是我還是有點不確信,因為一個長期運行的程序好端端怎么就出問題了???也沒修改過代碼啊,於是我還是不信邪的去修改了excutor的內存(增大),也去嘗試修改了driver的內存(增大)

這下好了!!!連streming任務都運行不了了!!!spark on yarn的批處理恢復也恢復不了了!!!!我的天!!開啟后幾秒就掛掉!!!(想跳樓!)

於是通過 yarn logs -applocationId 查看了streming任務的報錯信息如下

找不到checkpoint目錄??

於是我手動創建了這個checkpoint的hdfs目錄(若干次)

於是乎!!!可以正常運行不會掛掉了!!!但是!!過了20-30分鍾還是會掛掉!!並且出現同樣的錯誤!!,每次都要重新恢復目錄才能正常運行!!!!

而且查看了此時的/usr/data/logs/userlogs/下的steaming的任務日志,發現了2個問題!!!!

先是大量的獲取0個非空塊(其實正常情況也會出現,但不是大量的) 然后跳出下一個錯誤如下

我的天!!!這啥錯誤!

百度了下,這個錯誤信息文字好像是自定義的,也沒百度到相關錯誤.一般感覺得話像是代碼錯誤,但是這代碼都快半年沒更改了!!怎么可能!!!

最后!!!關鍵來了!修復了!怎么修復的呢如下

我將streaming路徑下所有帶checkpoint字眼的文件全刪除了!然后重啟streaming任務!恢復!!!!!!!!!!!!!!!!!!!!

然后我查看了網上相關文檔資料

應該就是這個問題了,完全符合我們現有的工作環境!  相關資料鏈接 : https://blog.csdn.net/rlnLo2pNEfx9c/article/details/81417061

不過我還是不明白那些個錯誤代表了什么,和刪除checkpoint文件到底發生了什么,如有大佬知道,請做出點評與回復

 

----互幫互助才有提升!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM