我正在使用Webhdfs在我的hdfs集群中存储文件。在conf文件中我提到复制因子为2.使用Webhdfs api,第一个PUT请求告诉我们放置文件的datanode的位置,并使用响应中的地址,我们将实际文件放在datanode中使用第二个PUT请求。既然我们已经提到复制因子为2,那么该文件将被复制到另一个数据节点并且我们知道2个文件中的1个的位置,是否可以得到第二个文件的位置,关于哪个数据节点它位于?提前致谢
答案 0 :(得分:0)
首先,HDFS中的文件不作为整体存储。而是将它们切割成块,并且这些块以复制的方式存储在整个群集中。所以你的问题应该是如何找到块的第二个副本的位置而不是文件。
您可以将网络浏览器指向namenode_machine:50070
,HDFS webUI。单击Browse the filesystem
并移至相关文件。单击此文件后,将打开一个新页面。向下滚动到:
Total number of blocks: 1
-4906713039323389639: 127.0.0.1:50010
这将显示此文件的所有块以及放置它们的机器。
HTH