hadoop存储目录使用的空间超过hdfs上的总数据量

aiazj4mn  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(380)

我有一个复制因子为3的三节点hadoop集群。
每个系统的存储目录是/app/hadoop/tmp/dfs/。
每个数据节点系统的硬盘容量为221gb。
hdfs的有效数据为62gb,复制62*3=186gb。
现在的问题是,尽管660 gb群集上只有186 gb的数据,但我的存储空间仍然不足:hdfs显示了可用空间的巨大差异:
数据节点1=7.47 gb
数据节点2=17.7 gb
数据节点3=143 gb
为了确保hadoop本地存储使用这些空间,我在每个datanode上运行了这个命令。对于datanode1

du -h --max-depth=1 /app/hadoop/tmp/
63G     /app/hadoop/tmp/dfs
139G    /app/hadoop/tmp/mapred
201G    /app/hadoop/tmp/

对于datanode2

du -h --max-depth=1 /app/hadoop/tmp/
126G    /app/hadoop/tmp/mapred
62G     /app/hadoop/tmp/dfs
188G    /app/hadoop/tmp/

对于datanode3 du-h——最大深度=1/app/hadoop/tmp/dfs/62g/app/hadoop/tmp/dfs/data 62g/app/hadoop/tmp/dfs/
这里datanode1使用了201gb的存储空间。我试过负载均衡器,但它显示集群是平衡的。这是输出。

start-balancer.sh
starting balancer, logging to /usr/lib/hadoop-0.20/logs/hadoop-ocpe-balancer-blrkec241933d.out
Time Stamp               Iteration#  Bytes Already Moved  Bytes Left To Move  Bytes Being Moved
The cluster is balanced. Exiting...
Balancing took 622.0 milliseconds

最近我的一个datanode坏了几天,在修复之后这个问题出现了。如何平衡负载?

ou6hu8tu

ou6hu8tu1#

您对磁盘空间的分析包括mapreduce暂存目录空间(/app/hadoop/tmp/mapred路径),它们位于hdfs之外,主要是作业完成时清除的临时数据。dfs空间(/app/hadoop/tmp/dfs)似乎与预期的使用大小一致。
因此,您的磁盘空间不会被datanodes占用,而是被tasktracker占用,重新启动它们会强制清除这些目录。

相关问题