查看HDFS配置文件
$ vim /etc/hadoop/conf/hdfs-site.xml
找到dfs.namenode.name.dir的位置
<name>dfs.namenode.name.dir</name>
<value>file:///dfs/nn</value>
讀取元數(shù)據(jù)文件
$ cd /dfs/nn/current
$ sudo -u hdfs hadoop oiv -i fsimage_0000000000000001003 -o fsimage.xml -p XML
$ echo $?
0
注意:返回值為0表示上一條指令執(zhí)行成功
查看fsimage.xml,找到block的id為1073741980
$ vim fsimage.xml
<blocks>
<block>
<id>1073741980</id>
...
</block>
</blocks>
根據(jù)id:1073741980查找block塊文件
$ cd /dfs/dn/current
$ find ./ | grep 1073741980
./BP-214804625-192.168.41.129-1495453872490/current/finalized/subdir0/subdir0/blk_1073741980_1156.meta
./BP-214804625-192.168.41.129-1495453872490/current/finalized/subdir0/subdir0/blk_1073741980
找到文件blk_1073741980
握玛,然后查看block塊內(nèi)容
$ cat ./BP-214804625-192.168.41.129-1495453872490/current/finalized/subdir0/subdir0/blk_1073741980
ln -s /usr/java/jdk1.7.0_67-cloudera /usr/java/default
echo -e 'export JAVA_HOME=/usr/java/default' >> /etc/profile
echo -e 'export PATH=$JAVA_HOME/bin:$PATH'>> /etc/profile
echo -e 'export CLASSPATH=.:$JAVA_HOME/lib'>> /etc/profile
這樣就可以看到文件的內(nèi)容
驗證了設(shè)計原則:元數(shù)據(jù)和數(shù)據(jù)分開存放,通過元數(shù)據(jù)可以找到數(shù)據(jù)