Spi*_*ike 1 hadoop hdfs hadoop2
我使用以下命令在 hdfs 中创建了一个文件
hdfs dfs -touchz /hadoop/dir1/file1.txt
Run Code Online (Sandbox Code Playgroud)
我可以使用以下命令查看创建的文件
hdfs dfs -ls /hadoop/dir1/
Run Code Online (Sandbox Code Playgroud)
但是,我无法使用 linux 命令(使用 find 或 locate)找到位置本身。我在互联网上搜索并找到了以下链接。 如何访问 Hadoop HDFS 中的文件?. 它说,hdfs 是虚拟存储。在这种情况下,它如何划分哪个或需要使用多少,元数据存储在哪里
是否将我在 hdfs-site.xml 中提到的虚拟存储的 datanode 位置用于存储所有数据?
我查看了 datanode 位置,并且有可用的文件。但是我找不到与我创建的文件或文件夹相关的任何内容。
(我使用的是 hadoop 2.6.0)
HDFS 文件系统是一个分布式存储系统,其中存储位置是虚拟的,并使用所有 DataNode 的磁盘空间创建。安装 hadoop 时,您必须为dfs.namenode.name.dir和指定路径dfs.datanode.data.dir。这些是所有 HDFS 相关文件存储在各个节点上的位置。
将数据存储到 HDFS 时,它会存储为指定大小的块(在 Hadoop 2.X 中默认为 128MB)。当您使用hdfs dfs命令时,您将看到完整的文件,但 HDFS 在内部将这些文件存储为块。如果您检查本地文件系统上的上述路径,您将看到一堆文件,这些文件对应于您的 HDFS 上的文件。但同样,您不会将它们视为实际文件,因为它们被分成块。
检查下面提到的命令的输出,以获取有关每个 DataNode 有多少空间用于创建虚拟 HDFS 存储的更多详细信息。
hdfs dfsadmin -report #或者
sudo -u hdfs hdfs dfsadmin -report
HTH
| 归档时间: |
|
| 查看次数: |
2286 次 |
| 最近记录: |