【发布时间】:2015-06-18 09:33:16
【问题描述】:
我了解hdfs将其文件作为块存储在datanodes上,每个块实际上作为一个文件存储在每个datanode的本地文件系统中。
所以我想知道是否有一种方法可以在本地文件系统中为 hdfs 块获取实际文件名,给定 hdfs 文件名。
谢谢。
【问题讨论】:
我了解hdfs将其文件作为块存储在datanodes上,每个块实际上作为一个文件存储在每个datanode的本地文件系统中。
所以我想知道是否有一种方法可以在本地文件系统中为 hdfs 块获取实际文件名,给定 hdfs 文件名。
谢谢。
【问题讨论】:
您可以对您想要的文件使用 Hadoop 的 FSCK 命令。这将返回主机和块名称。但是,它不提供本地文件系统上文件的完整路径。
$ hadoop fsck /path/to/file -files -blocks -locations
另一种选择是通过 HDFS WebUI。如果您浏览到每个文件,它将列出块名称和主机。
【讨论】: