【问题标题】:How do you retrieve the replication factor info in Hdfs files?如何检索 Hdfs 文件中的复制因子信息?
【发布时间】:2014-08-06 17:52:56
【问题描述】:

我为我的文件设置了复制因子,如下所示:

hadoop fs -D dfs.replication=5 -copyFromLocal file.txt /user/xxxx

NameNode 重新启动时,它会确保复制不足的块。 因此文件的复制信息被存储(可能在nameNode)。我怎样才能获得这些信息?

【问题讨论】:

    标签: hadoop replication hadoop2


    【解决方案1】:

    您可以运行以下命令来获取复制因子,

    hadoop fs -ls /user/xxxx
    

    输出中的第二列表示文件和文件夹的复制因子,它显示-,如下图所示。

    【讨论】:

      【解决方案2】:

      尝试使用命令hadoop fs -stat %r /path/to/file,它应该打印复制因子。

      【讨论】:

        【解决方案3】:

        如果您需要检查 HDFS 目录

        的复制因子

        hdfs fsck /tmp/data

        显示 /tm/data/ HDFS 文件夹的平均复制因子

        【讨论】:

          【解决方案4】:

          除了 Alexey Shestakov 的回答,它完美地工作并且完全按照你的要求做,其他方法,主要是 here,包括:

          hadoop dfs -ls /parent/path 
          

          第二列显示所有/parent/path 内容的复制因子。

          通过 Java,您可以使用以下方法获取此信息:

          FileStatus.getReplication()
          

          您还可以使用以下方法查看文件的复制因子:

          hadoop fsck /filename -files -blocks -racks
          

          最后,从namenode的web UI,我相信这个信息也是可用的(没查到)。

          【讨论】:

            【解决方案5】:

            我们可以使用以下命令来检查文件的复制。

            hdfs dfs -ls  /user/cloudera/input.txt
            

            hdfs dfs -stat %r /user/cloudera/input.txt
            

            【讨论】:

              猜你喜欢
              • 2013-07-24
              • 1970-01-01
              • 1970-01-01
              • 2019-03-02
              • 1970-01-01
              • 2016-05-26
              • 2013-07-21
              • 2015-02-21
              • 1970-01-01
              相关资源
              最近更新 更多