【问题跟踪】KryoException: java.io.IOException: No space left on device

今天在对LDA进行不同参数训练模型,记录其avglogLikelihood和logPerplexity,以便判断模型训练是否收敛时,产生了一个令人极度崩溃的事儿:程序在辛辛苦苦跑了7.3h后...挂了!证据如下:

早上一来看这张图,好像跑完了,然后点进去看...然后就没有然后了

每次迭代都需要9min左右,迭代了近50次跟我说挂了,确实挺让人奔溃的。

先说说我的配置以及LDA参数吧

5 * 40cores cpu

5* 500g memory

参数:

没办法,既然都崩溃了,跟进去找问题呗

磁盘没空间了!这是什么鬼...于是常规的,先从网上找找,看看有没有人有类似的问题,结果还真让我发现两个

Spark:java.io.IOException: No space left on device

spark参数配置调优

发现第一个的回答中比较有用的是这个:

同时,结合第二个中的解释

基本上定位到应该是spark.local.dir目录用来存放shuffle产生的临时文件的空间不够用了。好吧,那看看自己的配置咯

这下子好玩儿了!配置的local目录空间剩余杠杠的,机器上还剩大概600G(关键是总共5台啊!!!总共至少3T空间),跟我说No space left on device确定不是在逗我的?好吧,看来应该不是shuffle文件存储的空间不足了。

怎么办?问题总不能摆着儿吧,没办法,那就跟进去spark的UI慢慢研究咯

等等!还真发现点儿规律,为什么报错的都是同一台机器!然后想到之前的一个任务也有fails,赶紧打开看看,验证一下

看来果然是这样了!现在规律是发现了,那为什么会这样啊?刚才看到的bigdata04上的磁盘空间是完全够用的啊,真是奇了怪了!

等等!突然想起来,我好像是在这台机启动的任务

也就是说,bigdata04是我的driver。

原来如此,既然是driver,那么跟存储有关的就只有提交任务时配置的参数--driver-memory 50g这个了。

而且,好像刚才查看执行过程的时候,shuffle write也是很大的

那就试着把--driver-memory这个参数调大点吧。

先记录到这里,等结果出来后再看看,如果没问题了再修改本文总结一下!

时间: 2024-07-31 11:02:19

【问题跟踪】KryoException: java.io.IOException: No space left on device的相关文章

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

今天碰到比较奇怪的问题: 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-

Hive报错 Failed with exception java.io.IOException:java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:user.name%7D

报错信息如下 Failed with exception java.io.IOException:java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:user.name%7D 解决方法: 编辑 hive-site.xml 文件,添加下边的属性 <property> <name>system:java.io.tmpdir<

java.io.IOException: Attempted read from closed stream

代码如下,执行的时候提示“java.io.IOException: Attempted read from closed stream.” @Test public void test_temp(){ String url="http://ssov1.59iedu.com/login?TARGET=http://med.ihbedu.com:80/gateway/web/sso/auth&js&callback=loginThen&1470491151264&no

spark程序异常:Exception in thread &quot;main&quot; java.io.IOException: No FileSystem for scheme: hdfs

命令: java -jar myspark-1.0-SNAPSHOT.jar myspark-1.0-SNAPSHOT.jar hdfs://single:9000/input/word.txt hdfs://single:9000/output/out1 错误信息: .......... 14/11/23 06:14:18 INFO SparkDeploySchedulerBackend: Granted executor ID app-20141123061418-0011/0 on hos

android studio java.io.IOException:setDataSourse fail.

这一次是针对Android开发中的一个小问题,权限获取的问题. 在写了一个一个小Android程序的时候,有时候普需要获取本机的文件(Audio&Video),这时候如果不加权限就会出现这种情况: java.io.IOException:setDataSourse failed. 此时应该在 注册一下权限: 这样,问题解决.

hadoop错误Could not obtain block blk_XXX_YYY from any node:java.io.IOException:No live nodes contain current block

错误: 10/12/08 20:10:31 INFO hdfs.DFSClient: Could not obtain block blk_XXXXXXXXXXXXXXXXXXXXXX_YYYYYYYY from any node: java.io.IOException: No live nodes contain current block. Will get new block locations from namenode and retry 原因: Datanode 有一个同时处理文件

Dubbo java.io.IOException: Can not lock the registry cache file

跑单测用例的时候,以前执行成功的用例,运行时控制台仍然会报 dubbo 相关的错误: Failed to save registry store file, cause: Can not lock the registry cache file 2016-03-22 17:16:05,493 [DubboSaveRegistryCache-thread-1] WARN  com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry -  [DUBB

hbase异常:java.io.IOException: Unable to determine ZooKeeper ensemble

项目中用到hbase,有时候可能会报一些异常,比如java.io.IOException: Unable to determine ZooKeeper ensemble 等等,当出现这个问题时,某某说是项目中用到线程池的问题导致的,但查看异常之后,并非跟啥线程池有关系,异常信息如下: java.io.IOException: Unable to determine ZooKeeper ensemble at org.apache.hadoop.hbase.zookeeper.ZKUtil.con

Android 蓝牙 java.io.IOException: Connection refused 异常处理笔记

最近在做一个手机和Pad连接音箱的应用,需要用到蓝牙连接发送命令来控制音箱,但是在RfcommSocket连接时, 在pad上会出现一个 java.io.IOException: Connection refused 的异常,纠结好久一直没有解决,连接代码如下: http://www.ehotelier.cn/Thread.jsp?tid=481784 http://www.ehotelier.cn/Thread.jsp?tid=481784 http://www.ehotelier.cn/Th