ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Hadoop org.apache.hadoop.util.DiskChecker$DiskErrorException问题等价解决linux磁盘不足解决问题排查

2021-12-09 01:31:26  阅读:188  来源: 互联网

标签:java DiskChecker mapred hadoop MapTask Hadoop apache org


org.apache.hadoop.util.DiskChecker$DiskErrorException问题等价解决linux磁盘不足解决问题排查

解决“/dev/mapper/centos-root 100%”满了, org.apache.hadoop.util.DiskChecker$DiskErrorException Could not find any valid local directory for....

错误信息:如下所示

2021-12-09 00:40:58,559 INFO mapreduce.Job: Task Id : attempt_1638980473129_0001_m_000000_0, Status : FAILED
Error: org.apache.hadoop.util.DiskChecker$DiskErrorException: Could not find any valid local directory for output/attempt_1638980473129_0001_m_000000_0/file.out
        at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:447)
        at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:152)
        at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:133)
        at org.apache.hadoop.mapred.YarnOutputFiles.getOutputFileForWrite(YarnOutputFiles.java:82)
        at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.mergeParts(MapTask.java:1881)
        at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:1527)
        at org.apache.hadoop.mapred.MapTask$NewOutputCollector.close(MapTask.java:735)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:805)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:347)
        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:174)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1729)
        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:168)

搜了很多教程发现要么说的不是一个具体错误,要么没有用。最后发现确实是因为虚拟机没有空间再去输出中间文件了。网上如果说需要修改各模块tmp文件路径的也是有道理的,因为默认会存到/tmp下,这个再虚拟机分配的时候可能会很小。

排查思路 记住df -h这个命令不断的查下去 查到存缓存的路径为止:

cd /

sudo du -h -x --max-depth=1:查这层文件夹各自总大小

image-20211209011401440

可以看到这里的/opt有37G大小已经不对劲了,而我的hadoop是装在这个opt下的,所以继续安装上述深入:

最终定位到:/opt/module/hadoop-3.1.3/data/nm-local-dir/usercache/hadoop/appcache/application_1638980473129_0001

这个文件夹下占了几十个G的目录:ls查看一下。。。。。结果。。。

image-20211209010916248

rm -rf * 命令清除当前目录下的所有out文件即可。如果有集群的话也要清理一下。

image-20211209011707371

image-20211209011738980

舒服了。。

标签:java,DiskChecker,mapred,hadoop,MapTask,Hadoop,apache,org
来源: https://www.cnblogs.com/DengSchoo/p/15665320.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有