hadoop存储目录使用的空间超过了HDFS上的数据总量
我有一个三节点hadoop集群,复制因子为3 每个系统的存储目录为/app/hadoop/tmp/dfs/ 每个数据节点系统的硬盘容量为221GB HDFS的有效数据为62GB,其中复制62*3=186GB 现在的问题是,尽管660 GB群集上只有186 GB的数据,但我的存储空间不足: HDFS在可用空间上表现出巨大的差异: 数据节点1=7.47 GB 数据节点2=17.7 GB datanode3=143GB 为了确保hadoop本地存储使用这些空间,我在每个datanode上运行了这个命令。 对于datanode1hadoop存储目录使用的空间超过了HDFS上的数据总量,hadoop,mapreduce,hdfs,Hadoop,Mapreduce,Hdfs,我有一个三节点hadoop集群,复制因子为3 每个系统的存储目录为/app/hadoop/tmp/dfs/ 每个数据节点系统的硬盘容量为221GB HDFS的有效数据为62GB,其中复制62*3=186GB 现在的问题是,尽管660 GB群集上只有186 GB的数据,但我的存储空间不足: HDFS在可用空间上表现出巨大的差异: 数据节点1=7.47 GB 数据节点2=17.7 GB datanode3=143GB 为了确保hadoop本地存储使用这些空间,我在每个datanode上运行了这个命令
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坏了几天,在修复它之后,这个问题出现了。
如何平衡负载?您对磁盘空间的分析包括MapReduce scratch目录空间(/app/hadoop/tmp/mapred路径),它们位于HDFS之外,大部分是作业完成时清除的临时数据。 DFS空间(/app/hadoop/tmp/DFS)似乎与您的预期使用大小一致 因此,您的磁盘空间不会被DataNodes占用,而是被TaskTracker占用,重新启动它们会强制清除这些目录