如何查看整个根hdfs磁盘使用情况? (hadoop dfs -du /获取子文件夹)

时间:2014-08-05 19:35:04

标签: bash hadoop hdfs

我们或许并不奇怪,因为大数据对于业务来说是多么迷人,我们想要在我们的hadoop集群上监控磁盘空间问题。

我有一个cron作业正在运行,它正在做我想要的,除了我想要一条输出线来显示所用的整体空间。换句话说,在bash中," du /"的最后一行。命令显示整个磁盘上所有子文件夹的总使用情况。我喜欢这种行为。

目前,当我运行" hadoop dfs -du /"时,我只得到子目录信息而不是总数。

最好的方法是什么? 非常感谢Super Stack Overflow人员:)。

2 个答案:

答案 0 :(得分:1)

我只是没有正确理解文档!这是获得总空间的答案;

$ hadoop dfs -dus /
hdfs://MYSERVER.com:MYPORT/ 999
$ array=(`hadoop dfs -dus /`)
$ echo $array
hdfs://MYURL:MYPORT/
$ echo ${array[1]} ${array[0]}
999 hdfs://MYURL:MYPORT/

参考;文件系统Shell指南 http://hadoop.apache.org/docs/r1.2.1/file_system_shell.html#du //编辑;还更正了报告的顺序以匹配原始。

答案 1 :(得分:0)

  

hadoop fs -du -s -h / path

这将为您提供摘要。

对于整个群集,您可以尝试:

  

hdfs dfsadmin -report

您可能需要使用HDFS用户运行此功能。