hadoop fs -ls内存不足错误

时间:2014-07-15 20:56:08

标签: hadoop hdfs

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

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

2 个答案:

答案 0 :(得分:2)

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

HADOOP_CLIENT_OPTS="-Xmx4g" hdfs dfs -ls /

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

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

答案 1 :(得分:1)

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