从底层剖析HDFS的存储机制

HDFS存储:

      put: 1 file  ==>  1...n block ==> 存放在不同的节点上的

      get: 去 n node上查找这个file对应的元数据信息

 

 

 

block size是固定的128M大小

 

从底层剖析HDFS的存储机制

这个jdk文件的大小是180M,所以它是会被拆成两个block的

从底层剖析HDFS的存储机制

从底层剖析HDFS的存储机制

那么,这些HDFS上的文件到底存储在什么地方呢

我们在配置hadoop的时候,是配置在这个目录下的

从底层剖析HDFS的存储机制

从底层剖析HDFS的存储机制

在这个目录里面,可以看到

从底层剖析HDFS的存储机制

刚才上面的block对应的大小134217728、60877013 都在这了

HDFS的文件就是存在这里的

 

当我们将jdk文件从HDFS拿到本地呢

我们只需要将blk_1073741827和blk_1073741828拼一起,就是完整的jdk,就能解压成功

      cat blk_1073741827 >> jdk.tgz

      cat blk_1073741828 >> jdk.tgz

这样得到的jdk.tgz就可以直接解压了,就可以直接能用了

 

所以,HDFS文件分块,就是给你简单拆分了,没别的

然后提取的时候做了个简单的文件合并