Hadoop源代码研读之路(7)

刚接触Hadoop的时候,老师问我咱们上传的数据存放到那里了,我说我不知道,当时很囧。呵呵。

在hdfs-site.xml中

<porperty>

<name>dfs.data.dir</name>

<value>/home/hadoop/data</value>

</porperty>

这行数据就代表了数据块存放地址,现在才明白过来。

在Linux上有四个目录

1.current存放的是当前有效的数据块,

2.detach存的是快照

3.tmp保存的hi一些操作需要的临时数据块

4.storage存的是一些出错信息,版本不对..(二进制文件)

进入current目录后,发现一系列的数据块文件和数据块元数据文件,

同时还有一些子目录,它们的名字是subdir0到subdir63,子目录下也有数据块文件和数据块元数据,这是因为HDFS限定了每个目录存放数据块文件的数量,多了以后会创建子目录来保存。

数据文件名和元数据文件名的例子:

blk_3148782637964391313

blk_3148782637964391313_242812.meta

上面的例子,3148782637964391313是数据块的ID号,242812是数据块的版本号,用于一致性检查

current/VERSION,保存了一些文件系统的元信息

dncp_block_verification.log.curr和dncp_block_verification.log.prev,它记录了一些DataNode对文件系定时统做一致性检查需要的信息。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/4241290d147808853f470c88378a13e0.html