【问题标题】:Need help in finding the location of the replicated file on my hdfs cluster在我的 hdfs 集群上查找复制文件的位置时需要帮助
【发布时间】:2013-06-14 22:53:57
【问题描述】:

我正在使用 Webhdfs 在我的 hdfs 集群中存储文件。在 conf 文件中,我提到了复制因子为 2。使用 Webhdfs api,第一个 PUT 请求告诉我们要放置文件的数据节点的位置,并使用响应中的地址,我们使用第二个 PUT 请求。现在既然我们提到了复制因子是 2,文件将被复制到另一个数据节点,我们知道 2 个文件中第一个文件的位置,是否有可能获得第二个文件的位置,它是哪个数据节点位于?提前致谢

【问题讨论】:

    标签: hadoop hdfs webhdfs


    【解决方案1】:

    首先,HDFS 中的文件不是作为一个整体存储的。相反,它们被切成块,并且这些块以复制的方式存储在整个集群中。所以你的问题应该是如何找到块的第二个副本而不是文件的位置。

    您可以将网络浏览器指向namenode_machine:50070,即 HDFS 网络用户界面。单击Browse the filesystem 并移至相关文件。单击此文件后,将打开一个新页面。向下滚动到:

    Total number of blocks: 1
    -4906713039323389639:       127.0.0.1:50010
    

    这将向您显示此文件的所有块以及放置它们的机器。

    HTH

    【讨论】:

    • 所以,我有一个问题,对于将文件放入 hdfs,第一个请求是一个 put 请求,它返回将下一个 put 请求指向哪个数据节点。 namenode 的行为也像负载均衡器一样,并返回具有最少节点的数据节点,或者它总是返回相同的数据节点位置。
    • 请求被重定向到附近的datanade,该datanade有空闲块来容纳数据。每次都不是同一个数据节点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    相关资源
    最近更新 更多