zoukankan      html  css  js  c++  java
  • DataNode工作原理(四)

            DataNode的作用:提供真实文件数据的存储服务.以文件块进行存储。

    文件块(block):最基本的存储单位。对文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个block。HDFS默认的block大小是128M,以一个256MB文件,共有258/128=2个block.不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小。并不占用整个数据块存储空间。

            接下来对DataNode的存储方式进行验证。

    1:切换到Data的dfs目录,然后切换到data/current/目录。。。一直往下找到 finalized目录。文件块就在该目录下。

     2:执行 hadoop fs -rm -r hdfs://weekend110:9000/*命令清空上传的文件。发现 finalized目录下的信息为零。

    3.新建一个会话,上传一个文件: hadoop fs -put apache-hive-0.14.0-bin.tar.gz /

    4.再次查看 finalized目录,发现一个模块有 80288778B约等于76.5和上传的一样大

    5.通过访问http://192.168.17.99:50070/explorer.html#/可以更直观的看出这是一个压缩文件76.57M占用一个Block。已经所做的权限组和权限及所有者。

    6.再上传一个文件发现,第一个Block的Id为blk_1073741843。第二个Block的Id为blk_1073741844,具有连续性。有一个超过128M的文件压缩包,被分散成多个Block时,是不是也具有连续性。对于一个不完整的文件压缩包一般解压会失败。我们不能单独的cat出某个Block里面的内容,因此我得到他的所有的连续的Block合在一起会不会就能解压成功?

    答案是肯定的。cat A >> B 最后等于上传文件的大小。因此hdfs中对文件的切割和合并和一般处理文件的流模式一样。

  • 相关阅读:
    HDU 1525 Euclid's Game 博弈
    HDU 1272 小希的迷宫 并查集
    HDU1232 畅通工程 并查集
    HDU1760 A New Tetris Game NP态
    HDU5795A Simple Nim SG定理
    UVA10561 Treblecross 组合游戏/SG定理
    HDU1848 Fibonacci again and again SG函数
    HDU1532 Drainage Ditches 网络流EK算法
    树状数组小结
    HDU3333 Turing Tree 树状数组+离线处理
  • 原文地址:https://www.cnblogs.com/SamllBaby/p/5695472.html
Copyright © 2011-2022 走看看