【问题标题】:How to see entire root hdfs disk usage? (hadoop dfs -du / gets subfolders)如何查看整个根 hdfs 磁盘使用情况? (hadoop dfs -du / 获取子文件夹)
【发布时间】:2014-08-05 19:35:03
【问题描述】:

我们可能并不意外地认为大数据对业务有多么吸引人,这是我们希望在我们的 hadoop 集群上监控的磁盘空间问题。

我有一个 cron 作业正在运行,它正在做我想做的事,只是我希望其中一个输出行显示使用的整体空间。换句话说,在 bash 中,“du /”命令的最后一行显示了整个磁盘上所有子文件夹的总使用量。我喜欢这种行为。

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

获得这个的最佳方法是什么? 非常感谢所有 Super Stack Overflow 的人 :)。

【问题讨论】:

    标签: bash hadoop hdfs


    【解决方案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/
    

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

    【讨论】:

    • 这个答案需要重新审视。 hdaoop dfs 命令和选项 -dusboth 现在都已弃用。 hdfs dfs -du -s -h / 将是在撰写本文时尝试的精确命令。
    【解决方案2】:

    hadoop fs -du -s -h /path

    这将为您提供摘要。

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

    hdfs dfsadmin -report

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

    【讨论】:

    • 在 RHEL 上,这对我不起作用?我得到一个错误? (此处省略了尾部) s -du -s / du:无法访问 -s:没有这样的文件或目录。找到 2 项 999 hdfs://MYURL/apps
    • 开; $ hadoop version => Hadoop 1.2.0.1.3.0.0-107 Subversion git://ip-10-191-187-97/ on branch condor-branch-1 -r d4625cb994e0143f5f4b538f0f2f4a41ad6464a2 由 jenkins 于 5 月 20 日星期一 02:25 编译:14 EDT 2013 来自具有校验和 295dfaf445332ed0c577a94795a1eaa9 的源 此命令是使用 /usr/lib/hadoop/hadoop-core-1.2.0.1.3.0.0-107.jar 运行的
    • 这个命令对我来说很好用。我正在使用带有 CDH 4 和 CDH 5 的 Cloudera Distribution。对于整个集群,您可以尝试:hdfs dfsadmin -report
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多