spark遭遇空间已满的解决

-----------------------------------------------9.22------------------------------------------------------

今天甚是高兴,终于解决了集群内存满的问题,下面记录的是之前的处理内存的方法,一般情况下,

这个解决办法是可以的,但是对于我的集群是不行的,我一直很困扰,因为我的日志都清干净了,

du -h -x --max-depth=1,都显示很小的文件,但是运行df -h就是磁盘已满,这个问题真的困扰了我几个月,

每次我只能把磁盘重新扩容,但是一段时间后,又满了

今天,我无意间看到一篇帖子,这篇帖子介绍了df 和 du命令的不同,这才令我豁然开朗,

du命令扫描的是文件,df扫描的是分区元数据,所以,我把日志文件删掉后,du立即显示的是删除后的文件夹大小,

但是由于我的spark集群没有关闭,导致这个进程没有抛掉对这个文件的句柄,导致,扫描分区元数据并没有被释放,

所以显示一直是满的,我立即重启了spark服务,果然,内存一下子全被释放,困扰多月的问题终于被解决了

关于du df的帖子在这,想深入理解的可以自行查看

-----------------------------------------------以前-------------------------------------------------------

当spark空间不足的时候,你运行jps或者spark-shell时就会报错,我已经遇到很多次了,几乎都是日志满了

OpenJDK 64-Bit Server VM warning: Insufficient space for shared memory file:    132216 

这时运行df -h就会发现一个空间爆满,然后要查看是那个文件占用了空间,这个时候使用

du -h -x --max-depth=1

一定要加-x,这个时候你看到的才是影响spark的空间,否则就是整个服务器的空间,

然后找到占用最多的文件,一般是var/log,然后找到最大文件删除就可以了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值