2017-07-22 20 views
0

我有幾個Spark作業,包括批處理作業和流作業以處理系統日誌並對其進行分析。我們使用Kafka作爲連接每個作業的管道。由於文件導致的Spark作業崩潰間歇性混洗時未找到

一旦升級到Spark 2.1.0 + Spark Kafka Streaming 010,我發現一些作業(包括批處理或流式處理)會隨機拋出(例如幾個小時後或20分鐘內)。任何人都可以給我一些關於如何找出真正根源的建議嗎? (看起來好像有很多帖子正在討論這個問題,但是這個解決方案對我來說似乎不是很有用......)

這是由於Spark配置問題或代碼錯誤?我無法粘貼我所有的工作代碼,因爲它們太多了。

00:30:04510 WARN - 17/07/22 0點30分04秒WARN TaskSetManager:失去任務60.0在階段1518490.0(TID 338070,10.133.96.21,執行0):java.io.FileNotFoundException:的/ mnt/mesos/WORK_DIR /從站/ 20160924-021501-274760970-5050-7646-S2 /框架/ 40aeb8e5-e82a-4df9-b034-8815a7a7564b-2543 /執行器/ 0 /運行/ fd15c15d-2511-4f37-a106-27431f583153 /blockmgr-a0e0e673-f88b-4d12-a802-c35643e6c6b2/33/shuffle_2090_60_0.index.b66235be-79be-4455-9759-1c7ba70f91f6(沒有這樣的文件或目錄) 00:30:04,510 WARN - 在java.io.FileOutputStream。警告 - 在java.io.FileOutputStream。(FileOutputStream.java:213)警告 - 在java.io.FileOutputStream。(FileOutputStream.java:213)警告 - 在java.io.FileOutputStream。(FileOutputStream.java:213)警告 - 在java.io.FileOutputStream。(FileOutputStream.java:213)WARN - 在java.io.FileOutputStream。(FileOutputStream.java:213) 00:30:04,510 WARN - 在java.io.FileOutputStream。(FileOutputStream.java:162) 00:30:04,510 WARN - at org.apache.spark.shuffle.IndexShuffleBlockResolver.writeIndexFileAndCommit(IndexShuffleBlockResolver.scala:144) 00:30:04,510 WARN - at org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:128) 00:30:04,510 WARN - at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask .scala:96) 00:30:04,510 WARN - at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:53) 00:30:04,510 WARN - at org.apache.spark.scheduler.Task .run(Task.scala:99) 00:30:04,510 WARN - at org.apache.spark.executor.Executor $ TaskRunner.run(Executor.scala:282) 00:30:04,510 WARN - java.util .concurrent.ThreadPoolExe cutor.runWorker(ThreadPoolExecutor.java:1142) 00:30:04,510 WARN - 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) 00:30:04,510 WARN - at java.lang。 Thread.run(Thread.java:748)

回答

0

我終於找到了根本原因。 Spark Jobs完全沒有問題。 我們有一個crontab,它錯誤地清理了/ mnt中的臨時存儲並錯誤地刪除了火花緩存文件。