Hadoop 错误代码 -1000,在任何本地目录中都没有 space

Hadoop errorcode -1000, No space available in any of the local directories

我使用 Windows 7 并安装了 Hadoop 2.10.1,如下所示:https://exitcondition.com/install-hadoop-windows/ 运行 我的工作时出现错误:

INFO mapreduce.Job: 
Job job_1605374051781_0001 failed with state FAILED due to: 
Application application_1605374051781_0001 failed 2 times 
due to AM Container for appattempt_1605374051781_0001_000002 exited with 
exitCode: -1000 Failing this attempt.Diagnostics: 
[2020-11-14 18:17:54.217]No space available in any of the local directories.

预期的输出是几行文本,我的磁盘远未满(至少 10GB 可用)。该代码是一些通用的 mapreduce 作业,我无法在此处 post 因为它是大学的知识分子 属性。

关于如何解决“无 space 可用”错误的任何提示? 澄清一下,我只使用我的电脑,没有连接到其他机器。

PS:我已经解决了,正如这里所说:Hadoop map reduce example stuck on Running job by user "banu reddy" https://whosebug.com/users/4249076/banu-reddy 空闲硬盘 space 需要至少占磁盘空间的 10%。

Hadoop 的作业在框架的分布式文件系统中执行,又名 HDFS,它独立于本地文件系统工作(即使只在一台机器上运行,正如您所阐明的)。

这基本上意味着您遇到的错误是指 HDFS 中可用的磁盘 space 而不是一般的硬盘驱动器。要检查 HDFS 是否有足够的磁盘 space 来 运行 作业,您可以在终端上执行以下命令:

hdfs dfs -df -h

它可以有这样的输出(忽略我在 Hadoop 设置中收到的警告):

如果您系统中的命令输出表明可用磁盘 space 不足或不存在,您可以从 HDFS 中单独删除目录 首先检查存储了哪些目录和文件:

hadoop fs -ls

然后从 HDFS 中删除每个目录:

hadoop fs -rm -r name_of_the_folder

或来自 HDFS 的文件:

hadoop fs -rm name_of_the_file

或者,您可以清空存储在 HDFS 中的所有内容,以确保您不会很快再次达到磁盘 space 限制。您可以通过首先停止 YARN 和 HDFS 守护进程来做到这一点:

stop-all.sh

然后只启用 HDFS 守护进程:

start-dfs.sh

然后格式化名称节点上的所有内容(也就是您系统中的 HDFS,当然不是您的本地文件):

hadoop namenode -format

最后启用 YARN 和 HDFS 守护进程:

start-all.sh

记得在删除 HDFS 中的内容后重新运行 hdfs dfs -df -h 命令,以确保 HDFS 上有可用的 space。