由于间歇洗牌时找不到文件而导致spark作业崩溃

xurqigkl  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(334)

我有几个spark作业,包括批处理作业和流作业来处理系统日志并分析它们。我们使用Kafka作为连接每个工作的管道。
升级到spark 2.1.0+spark kafka streaming 010后,我发现一些作业(批处理或流处理)随机抛出到异常以下(运行数小时后或仅在20分钟内运行)。有人能给我一些关于如何找出真正根源的建议吗(看起来有很多帖子都在讨论这个问题,但是这个解决方案对我来说似乎不是很有用……)
这是因为spark配置问题还是代码错误?我不能粘贴我所有的工作代码,因为有太多。
00:30:04510警告-17/07/22 00:30:04警告tasksetmanager:阶段1518490.0中的丢失任务60.0(tid 338070,10.133.96.21,executor 0):java.io.filenotfoundexception:/mnt/mesos/work\u dir/slaves/20160924-021501-274760970-5050-7646-s2/frameworks/40aeb8e5-e82a-4df9-b034-8815a7a7564b-2543/executors/0/runs/fd15c15d-2511-4f37-a106-27431f583153/blockmgr-a0e673-f88b-4d12-a802-c35643e6c6b2/33/shufle\u 2090\u 0.index.b66235be-79be-4455-9759-1c7ba70f91f6(没有此类文件或目录)00:30:04510 warn-at java.io.fileoutputstream.open0(本机方法)00:30:04510 warn-at java.io.fileoutputstream.open(fileoutputstream)。java:270)00:30:04510警告-在java.io.fileoutputstream。(fileoutputstream。java:213)00:30:04510警告-在java.io.fileoutputstream。(fileoutputstream。java:162) 00:30:04,510警告-位于org.apache.spark.shuffle.indexshuffleblockresolver.writeindexfileandcommit(indexshuffleblockresolver)。scala:144)00:30:04510警告-位于org.apache.spark.shuffle.sort.bypassmergesortshufflewriter.write(bypassmergesortshufflewriter)。java:128) 00:30:04,510警告-位于org.apache.spark.scheduler.shufflemaptask.runtask(shufflemaptask。scala:96)00:30:04510警告-位于org.apache.spark.scheduler.shufflemaptask.runtask(shufflemaptask。scala:53)00:30:04510警告-位于org.apache.spark.scheduler.task.run(task。scala:99) 00:30:04,510警告-位于org.apache.spark.executor.executor$taskrunner.run(executor。scala:282)00:30:04510警告-位于java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor。java:1142)00:30:04510警告-位于java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor。java:617) 00:30:04,510 warn-at java.lang.thread.run(线程。java:748)

kgsdhlau

kgsdhlau1#

我终于找到了根本原因。spark jobs一点问题都没有。我们有一个crontab,它错误地清理了/mnt处的临时存储,错误地删除了spark缓存文件。

相关问题