【发布时间】:2021-09-01 16:46:17
【问题描述】:
我收到以下错误。 Spark_local_dir 已设置并有足够的空间和 inode 剩余。
java.io.IOException: No space left on device
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:326)
at org.apache.spark.storage.TimeTrackingOutputStream.write(TimeTrackingOutputStream.java:58)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:126)
at org.xerial.snappy.SnappyOutputStream.dumpOutput(SnappyOutputStream.java:294)
at org.xerial.snappy.SnappyOutputStream.compressInput(SnappyOutputStream.java:306)
at org.xerial.snappy.SnappyOutputStream.rawWrite(SnappyOutputStream.java:245)
at org.xerial.snappy.SnappyOutputStream.write(SnappyOutputStream.java:107)
at org.apache.spark.io.SnappyOutputStreamWrapper.write(CompressionCodec.scala:190)
at org.apache.spark.storage.DiskBlockObjectWriter.write(BlockObjectWriter.scala:218)
at org.apache.spark.util.collection.ChainedBuffer.read(ChainedBuffer.scala:56)
at org.apache.spark.util.collection.PartitionedSerializedPairBuffer$$anon$2.writeNext(PartitionedSerializedPairBuffer.scala:137)
at org.apache.spark.util.collection.ExternalSorter.writePartitionedFile(ExternalSorter.scala:757)
at org.apache.spark.shuffle.sort.SortShuffleWriter.write(SortShuffleWriter.scala:70)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:70)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:41)
at org.apache.spark.scheduler.Task.run(Task.scala:70)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:213)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
cat spark-env.sh |grep -i local
export SPARK_LOCAL_DIRS=/var/log/hadoop/spark
磁盘使用情况 df -h /var/log/hadoop/spark 已使用的文件系统大小可用使用百分比已安装在 /dev/mapper/meta 200G 1.1G 199G 1% /var/log/hadoop
节点 df -i /var/log/hadoop/spark 文件系统 Inodes IUsed IFree IUse% Mounted on /dev/mapper/meta 209711104 185 209710919 1% /var/log/hadoop
【问题讨论】:
-
这意味着它正在写你意想不到的地方。
-
或者某些临时空间已满。查看其他文件系统以查看是否接近容量。或者你写的数据比你预期的要多。
-
"并且有足够的空间" 显然它没有 :-) 你需要向我们展示你的配置,你到底在做什么以及有多少数据。
-
假设您在 Unix 上运行:请执行“df -h”并提供命令的输出。
-
配置和磁盘使用详情已添加到问题中。 @Peter,即使我怀疑数据是写在我没想到的地方,需要知道它在哪里。任何对此有所了解的人都会挽救生命
标签: unix apache-spark