我知道hdfs将其文件作为块存储在datanode上,而每个块实际上作为文件存储在每个datanode的本地文件系统中。因此,我想知道,如果给定hdfs文件名,是否有方法在本地文件系统中获取hdfs块的实际文件名。谢谢。
ccrfmcuu1#
您可以在您想要的文件上使用hadoop的fsck命令。这将返回主机名和块名。但是,它不提供本地文件系统上文件的完整路径。 $ hadoop fsck /path/to/file -files -blocks -locations 另一个选择是通过hdfswebui。如果浏览到每个文件,它将列出块名和主机。
$ hadoop fsck /path/to/file -files -blocks -locations
1条答案
按热度按时间ccrfmcuu1#
您可以在您想要的文件上使用hadoop的fsck命令。这将返回主机名和块名。但是,它不提供本地文件系统上文件的完整路径。
$ hadoop fsck /path/to/file -files -blocks -locations
另一个选择是通过hdfswebui。如果浏览到每个文件,它将列出块名和主机。