我知道hdfs将其文件作为块存储在数据节点上,每个块实际上作为文件存储在每个数据节点的本地文件系统中。
所以我想知道是否有办法在本地文件系统中获取 hdfs 块的实际文件名,给定该 hdfs 文件名。
谢谢。
您可以在您想到的文件上使用 Hadoop 的 FSCK 命令。 这将返回主机和块名称。 但是,它不提供本地文件系统上文件的完整路径。
$ hadoop fsck /path/to/file -files -blocks -locations
另一种选择是通过HDFS WebUI。 如果浏览到每个文件,它将列出块名称和主机。