我在hdfs数据目录中有300000多个文件。当我做一个hadoop fs-ls时,我得到一个内存不足的错误,说gc限制已经超过。群集节点每个都有256 gb的ram。我该怎么修?
k3bvogb11#
通过指定“hadoop\u client\u opts”,可以为hdfs命令提供更多内存
HADOOP_CLIENT_OPTS="-Xmx4g" hdfs dfs -ls /
在此处找到:http://lecluster.delaurent.com/hdfs-ls-and-out-of-memory-gc-overhead-limit/这解决了我的问题,我有超过400k的文件在一个目录,需要删除大部分,但不是全部。
hfsqlsce2#
编写一个python脚本,将文件拆分为多个目录并在其中运行。首先,当你知道一个目录中有300000多个文件时,你想达到什么目的。如果你想连接,最好把它们排列成子目录。
2条答案
按热度按时间k3bvogb11#
通过指定“hadoop\u client\u opts”,可以为hdfs命令提供更多内存
在此处找到:http://lecluster.delaurent.com/hdfs-ls-and-out-of-memory-gc-overhead-limit/
这解决了我的问题,我有超过400k的文件在一个目录,需要删除大部分,但不是全部。
hfsqlsce2#
编写一个python脚本,将文件拆分为多个目录并在其中运行。首先,当你知道一个目录中有300000多个文件时,你想达到什么目的。如果你想连接,最好把它们排列成子目录。