jokerchu 发表于 2016-12-11 11:30:28

hadoop源码研读之路(八)----DataNode本地数据块管理

  刚接触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对文件系定时统做一致性检查需要的信息。
页: [1]
查看完整版本: hadoop源码研读之路(八)----DataNode本地数据块管理