java.io.IOException: No space left on device 错误

本文记录了一次Spark任务执行过程中遇到的磁盘空间不足错误,并详细介绍了错误发生的原因及解决步骤。作者首先尝试了修改配置文件和fstab等方法,但未解决问题。最终发现是因为大量.jar文件上传导致工作节点磁盘空间被占满。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天碰到比较奇怪的问题:

7/05/14 19:20:24 INFO util.Utils: Fetching http://192.168.31.160:33039/jars/spark_study_java-0.0.1-SNAPSHOT-jar-with-dependencies.jar to /tmp/spark-446068a4-aaa4-4277-b009-908bf0d4ecac/executor-dcc3175b-7d19-4485-81e1-bf31a83a66b4/spark-3f849149-bcfb-44a2-90f6-c71f31098c30/fetchFileTemp8558073324247536081.tmp
17/05/14 19:20:24 ERROR executor.Executor: Exception in task 0.0 in stage 0.0 (TID 0)
java.io.IOException: No space left on device
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java:345)
    at org.apache.spark.util.Utils$$anonfun$copyStream$1.apply$mcJ$sp(Utils.scala:286)
    at org.apache.spark.util.Utils$$anonfun$copyStream$1.apply(Utils.scala:252)
    at org.apache.spark.util.Utils$$anonfun$copyStream$1.apply(Utils.scala:252)
    at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1206)
    at org.apache.spark.util.Utils$.copyStream(Utils.scala:292)
    at org.apache.spark.util.Utils$.downloadFile(Utils.scala:415)
    at org.apache.spark.util.Utils$.doFetchFile(Utils.scala:557)
    at org.apache.spark.util.Utils$.fetchFile(Utils.scala:356)

总是报错,试了网上说的

第一种:修改配置文件spark-env.sh,把临时文件引入到一个自定义的目录中去即可

export SPARK_LOCAL_DIRS=/home/utoken/datadir/spark/tmp

第二种:偷懒方式,针对tmp目录不启用tmpfs,直接修改/etc/fstab

 

几种解决办法也还是不行,后来通过df -h 查看两个work节点 /dev/mapper/vg_spark1-lv_root 都占满了,这是怎么回事,经过查找,原来是自己不断测试程序,.jar 包不断上传到work节点上,由于.jar 是带有依赖的,所以比较大。不断上传使work【/usr/local/spark-1.5.1/work】节点的目录空间满了。

 

 

 

清除以后,完美运行。

注:使用du -sh * 命令也可以列出当前文件以及文件夹的大小。这个命令要注意:sh与*之前要有个空格的。

转载于:https://www.cnblogs.com/haibin168/p/6854314.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值