我如何知道在 /mnt/yarn/usercache 和 /var/log/hadoop-yarn/containers



我有一个在 AWS 上运行的 EMR 集群。我查看了 YARN,我看到我的 4 名工人由于以下原因而具有这种"不健康状态"

1/2 local-dirs are bad: /mnt/yarn; 1/1 log-dirs are bad: /var/log/hadoop-yarn/containers

因此,我 ssh 进入工作节点 ->运行df,果然/mnt/yarn的磁盘空间为 99%。此外,许多stderrorstdout文件占用了目录中/var/log/hadoop-yarn/containers大量空间。我的问题是:什么可以安全删除,什么不能?我觉得我已经掉进了一个兔子洞,在阅读几个小时后仍然没有弄清楚如何释放我的工作节点中的磁盘空间。我一直在阅读有关/mnt/yarn/usercache目录的信息,似乎该目录中的内容是用于运行我的 Spark 应用程序的"本地资源"。但是/mnt/yarn/usercache/hadoop/filecache/mnt/yarn/usercache/hadoop/appcache分别占用了3%和96%的磁盘空间/mnt/yarn

可能需要清除此文件夹 -/var/log/hadoop-yarn/apps/hadoop/logs/

在HDFS上。尝试hdfs dfs -ls /var/log/hadoop-yarn/apps/hadoop/logs查看它。

另一个选项是检查 -/mnt/var/log/hadoop-yarn/containers 在执行器上。

应该有另一个名称为"application_someId"的文件夹。这些文件夹包含已完成和正在运行的 Spark 作业的日志。

是的,您可以删除/mnt/var/log/hadoop-yarn/containers中的容器文件(以及其中的日志文件(。我有一个非常相似的问题。

我删除了文件,停止并重新启动了 EMR 上的 spark,我不健康的节点又回来了。