【发布时间】:2018-07-08 06:58:02
【问题描述】:
几个月来我一直在通过 Zeppelin 和 Dataproc 控制台在 Dataproc 上使用 Spark/Hadoop,但最近我遇到了以下错误。
Caused by: java.io.FileNotFoundException: /hadoop/yarn/nm-local-dir/usercache/root/appcache/application_1530998908050_0001/blockmgr-9d6a2308-0d52-40f5-8ef3-0abce2083a9c/21/temp_shuffle_3f65e1ca-ba48-4cb0-a2ae-7a81dcdcf466 (No such file or directory)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at org.apache.spark.storage.DiskBlockObjectWriter.initialize(DiskBlockObjectWriter.scala:103)
at org.apache.spark.storage.DiskBlockObjectWriter.open(DiskBlockObjectWriter.scala:116)
at org.apache.spark.storage.DiskBlockObjectWriter.write(DiskBlockObjectWriter.scala:237)
at org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:151)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:96)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:53)
at org.apache.spark.scheduler.Task.run(Task.scala:108)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:338)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
首先,我在 Zeppelin 笔记本上遇到这种类型的错误,并认为是 Zeppelin 问题。然而,这个错误似乎是随机发生的。我怀疑这与其中一个 Spark 工作人员无法在该路径中写入有关。所以,我用谷歌搜索并被建议删除每个 Spark 工作人员上 /hadoop/yarn/nm-local-dir/usercache/ 下的文件,并检查每个工作人员上是否有可用的磁盘空间。这样做后,我有时仍然会出现此错误。我还在 Dataproc 上运行了 Spark 作业,也发生了类似的错误。我使用的是 Dataproc 映像版本 1.2。
谢谢
Peeranat F.
【问题讨论】:
标签: apache-spark hadoop google-cloud-storage google-cloud-dataproc