【发布时间】:2017-01-24 21:53:30
【问题描述】:
我使用“hdfs oiv”命令将 fsimage 读入 xml 文件。
hdfs oiv -p XML -i /../dfs/nn/current/fsimage_0000000003132155181 -o fsimage.out
根据我的理解,fsimage 应该存储“块图”,例如文件如何分成块,以及每个块的存储位置。但是,下面是记录 inode 在输出文件中的样子。
<inode>
<id>37749299</id>
<type>FILE</type>
<name>a4467282506298f8-e21f864f16b2e7c1_468511729_data.0.</name>
<replication>3</replication>
<mtime>1442259468957</mtime>
<atime>1454539092207</atime>
<perferredBlockSize>134217728</perferredBlockSize>
<permission>impala:hive:rw-r--r--</permission>
<blocks>
<block>
<id>1108336288</id>
<genstamp>35940487</genstamp>
<numBytes>16187048</numBytes>
</block>
</blocks>
</inode>
但是,我期待文件的 hdfs 路径,该文件如何分解成更小的部分以及每个部分的存储位置(比如哪台机器,哪个本地 fs 路径......等等......)
名称服务器上的任何位置是否存在映射,包含:
- inode 映射的 HDFS 路径
- blockid 到本地文件系统路径/磁盘位置的映射?
【问题讨论】: