hadoop fs -ls 内存不足错误

Sam*_*thy 4 hadoop hdfs

我在 HDFS 数据目录上有 300000 多个文件。

当我执行 hadoop fs -ls 时,出现内存不足错误,提示已超出 GC 限制。每个集群节点都有 256 GB 的 RAM。我如何解决它?

Jac*_*son 9

您可以通过指定“HADOOP_CLIENT_OPTS”为 hdfs 命令提供更多内存

HADOOP_CLIENT_OPTS="-Xmx4g" hdfs dfs -ls /
Run Code Online (Sandbox Code Playgroud)

在这里找到:http : //lecluster.delaurent.com/hdfs-ls-and-out-of-memory-gc-overhead-limit/

这为我解决了这个问题,我在一个目录中有超过 40 万个文件,需要删除大部分但不是全部。


小智 1

编写一个 python 脚本将文件拆分到多个目录中并运行它们。首先,当您知道目录中有超过 300000 个文件时,您想要实现什么目标。如果您想更好地将它们连接到子目录中。