我在hadoop中遇到以下异常,同时运行一些任务。 但是HDFS显示它有空间。 有关此错误的任何信息都会有所帮助。
java.lang.RuntimeException: org.apache.hadoop.fs.FSError: java.io.IOException: No space left on device
at org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:270)
at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:506)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:447)
at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408)
at org.apache.hadoop.mapred.Child.main(Child.java:262)
Caused by: org.apache.hadoop.fs.FSError: java.io.IOException: No space left on device
at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.write(RawLocalFileSystem.java:220)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
at org.apache.hadoop.fs.FSDataOutputStream$Positio
答案 0 :(得分:2)
可能你的日志没有旋转。请检查目录:/ var / log /它有目录hadoop *。它可能被完全填满,而且找不到存储日志的地方。
答案 1 :(得分:0)
即使HDFS上有空间,某些节点的磁盘也可能已满。您可以通过选择实时数据节点从DFS的Web UI中进行检查。