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....

错误信息:如下所示

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

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

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

cd /

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

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

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

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

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

舒服了。。

Hadoop org.apache.hadoop.util.DiskChecker$DiskErrorException问题等价解决linux磁盘不足解决问题排查的更多相关文章

  1. Hadoop记录-Apache hadoop+spark集群部署

    Hadoop+Spark集群部署指南 (多节点文件分发.集群操作建议salt/ansible) 1.集群规划节点名称 主机名 IP地址 操作系统Master centos1 192.168.0.1 C ...

  2. Welcome to Apache™ Hadoop®!

    What Is Apache Hadoop? Getting Started Download Hadoop Who Uses Hadoop? News 15 October, 2013: relea ...

  3. Apache Hadoop学习笔记一

    官网:http://hadoop.apache.org/ 1 什么是Hadoop? Apache™Hadoop®项目开发了用于可靠,可扩展的分布式计算的开源软件. Apache Hadoop软件库是一 ...

  4. What Is Apache Hadoop

    What Is Apache Hadoop? The Apache™ Hadoop® project develops open-source software for reliable, scala ...

  5. 转载:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.Annotation

    转载:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.Annotation (2012 ...

  6. hadoop错误org.apache.hadoop.util.DiskChecker$DiskErrorException Could not find any valid local directory for

    错误: org.apache.hadoop.util.DiskChecker$DiskErrorException: Could not find any valid local directory ...

  7. 【解决】org.apache.hadoop.util.Shell$ExitCodeException: /bin/bash: line 0: fg: no job control

    [环境信息] Hadoop版本:2.4.0 客户端OS:Windows Server 2008 R2 服务器端OS:CentOS 6.4 [问题现象] 在通过Windows客户端向Linux服务器提交 ...

  8. Exceptionin thread "main" java.lang.UnsatisfiedLinkError:org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjav

    在eclipse上运行hadoop报错:Exceptionin thread "main" java.lang.UnsatisfiedLinkError:org.apache.ha ...

  9. java.lang.NullPointerException at java.lang.ProcessBuilder.start(Unknown Source) at org.apache.hadoop.util.Shell.runCommand(Shell.java:482)

    1:问题出现的原因,部署好的hadoop-2.6.4进行window10操作hadoop api出现的错误,具体错误是我向hdfs上传文件,还好点,之前解决过,这里不叙述,这里说一下从hdfs下载文件 ...

随机推荐

  1. Spring事务不生效问题

    事务未生效可能造成严重的数据不一致性问题,因而保证事务生效至关重要.Spring事务是通过Spring aop实现的,所以不生效的本质问题是spring aop没生效,或者说没有代理成功,所以有必要了 ...

  2. Dubbo之负载均衡、并发控制、延迟暴露、连接控制

    1.并发控制 dubbo服务端和消费端都做了并发控制,分别在配置中有相应的对应配置: 服务端:executes服务提供者每服务每方法最大可并行执行请求数,控制并发数量:actives每服务消费者每服务 ...

  3. springcloud3(六) 服务降级限流熔断组件Resilience4j

    代码地址:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/spb-gateway/src/test/java/com/ ...

  4. MacOS修复TNT和谐软件运行崩溃、闪退问题

    因为Apple删除了TNT的证书,因此部分应用程序出现了打开崩溃的情况. 目前的解决方案是自己更改签名. 第一种方法: 在终端中运行以下命令:(注意:name.app就是需要更改签名的程序) sudo ...

  5. 三. 为什么要用Promise

    # 三. 为什么要用Promise /* 1.指定回调函数的方式更加灵活: 旧的:必须在启动异步任务前指定 promise:启动异步任务 => 返回promie对象 => 给promise ...

  6. PTA 银行排队问题之单队列多窗口服务 (25分)

    PTA 银行排队问题之单队列多窗口服务 (25分) 假设银行有K个窗口提供服务,窗口前设一条黄线,所有顾客按到达时间在黄线后排成一条长龙.当有窗口空闲时,下一位顾客即去该窗口处理事务.当有多个窗口可选 ...

  7. Spring Boot程序中@JsonIgnoreProperties与@JsonIgnore基本使用

    问题由来: springboot项目中定义了很多类,我们在rest返回中直接返回或者在返回对象中使用这些类,spring已经使用jackson自动帮我们完成这些的to json.但是有时候自动转的js ...

  8. 解决SpringBoot项目部署到服务器后访问Tomcat后404,无法访问Controller

  9. 注解@RunWith的作用

    @RunWith就是一个运行器 @RunWith(JUnit4.class)就是指用JUnit4来运行 @RunWith(SpringJUnit4ClassRunner.class),让测试运行于Sp ...

  10. C#中OnLoad事件和Form1_Load事件的区别

    在学习<GDI+高级编程>第二章的过程中遇到一个疑问,就是为何有的代码用的是覆写一个OnLoad事件,而平日里我用的一般是Form1_Load事件,这两个函数很相近,但是具体有什么关系呢? ...