zoukankan      html  css  js  c++  java
  • HDFS 上文件块的副本数设置

    一、使用 setrep 命令来设置

    # 设置 /javafx-src.zip 的文件块只存三份
    hadoop fs -setrep 3 /javafx-src.zip

    二、文件块在磁盘上的路径

    # 设置的 hdfs 目录为
    /opt/hadoop-tmp/ # hdfs 文件块的路径为 /opt/hadoop-tmp/dfs/data/current/BP-362764591-192.168.8.136-1554970906073/current/finalized/subdir0/subdir0

    三、文件的分割

    文件大小 < 块设定值,文件不会被切割,直接存放到 hdfs 上,占用磁盘的空间就是文件大小
    文件大小 > 块设定值,文件被切割为块大小的 N 份文件,最后一份不够块大小也上面一样,只占用本身大小的磁盘空间

    下图可以看到该文件副本为 3 份,分别存放在 h140、h138 和 h136 三台机器上

     

    四、改变副本数后的文件的变化

    # 减少,会随机删除一个机器上的文件块,这里是删除了 h136 上的
    hadoop fs -setrep 2 /javafx-src.zip

    # 增加,由于只配置了三台机器无法截图
    # 分两种情况:
    # 机器数量 >= 副本数,会把所有文件块复制到新节点
    # 机器数量 <  副本数,会等有新节点增加再执行复制操作,一直到达副本数为止
    # 文件块的副本数储存在 NameNode 上
    hadoop fs -setrep 5 /javafx-src.zip

    http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html

  • 相关阅读:
    FZU 2150 Fire Game
    POJ 3414 Pots
    POJ 3087 Shuffle'm Up
    POJ 3126 Prime Path
    POJ 1426 Find The Multiple
    POJ 3278 Catch That Cow
    字符数组
    HDU 1238 Substing
    欧几里德和扩展欧几里德详解 以及例题CodeForces 7C
    Codeforces 591B Rebranding
  • 原文地址:https://www.cnblogs.com/jhxxb/p/10693533.html
Copyright © 2011-2022 走看看