Dataproc 上的 Spark 失败并显示 java.io.FileNotFoundException:

Spark on Dataproc fails with java.io.FileNotFoundException:

在 Dataproc 集群中启动的 Spark 作业失败并出现以下异常。我尝试过各种集群配置,但结果是一样的。我在 Dataproc 图像 1.2 中收到此错误。

注意:没有抢占的workers也有足够的磁盘space。但是我注意到工作节点中根本没有 /hadoop/yarn/nm-local-dir/usercache/root 文件夹。但是我可以看到一个名为 dr.who.

的文件夹
java.io.IOException: Failed to create local dir in /hadoop/yarn/nm-local-dir/usercache/root/appcache/application_1534256335401_0001/blockmgr-89931abb-470c-4eb2-95a3-8f8bfe5334d7/2f.
    at org.apache.spark.storage.DiskBlockManager.getFile(DiskBlockManager.scala:70)
    at org.apache.spark.storage.DiskBlockManager.getFile(DiskBlockManager.scala:80)
    at org.apache.spark.shuffle.IndexShuffleBlockResolver.getDataFile(IndexShuffleBlockResolver.scala:54)
    at org.apache.spark.shuffle.sort.SortShuffleWriter.write(SortShuffleWriter.scala:68)
    at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:79)
    at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:47)
    at org.apache.spark.scheduler.Task.run(Task.scala:86)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:274)
    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)

可能重复:Spark on Google's Dataproc failed due to java.io.FileNotFoundException: /hadoop/yarn/nm-local-dir/usercache/root/appcache/

我可以使用 Dataproc 1.3 解决问题。 但是 1.3 没有附带需要处理的 bigquery 连接器。 https://cloud.google.com/dataproc/docs/concepts/connectors/bigquery