我们或许并不奇怪,因为大数据对于业务来说是多么迷人,我们想要在我们的hadoop集群上监控磁盘空间问题。
我有一个cron作业正在运行,它正在做我想要的,除了我想要一条输出线来显示所用的整体空间。换句话说,在bash中," du /"的最后一行。命令显示整个磁盘上所有子文件夹的总使用情况。我喜欢这种行为。
目前,当我运行" hadoop dfs -du /"时,我只得到子目录信息而不是总数。
最好的方法是什么? 非常感谢Super Stack Overflow人员:)。
答案 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用户运行此功能。