美文网首页
hdfs详解之块、小文件和副本数

hdfs详解之块、小文件和副本数

作者: 吃货大米饭 | 来源:发表于2019-07-07 11:21 被阅读0次

    1.block块

    1、block:block是物理切块,在文件上传到HDFS文件系统后,对大文件将以每128MB的大小切分若干,存放在不同的DataNode上。例如一个文件130M,那么他会存被切分成2个块,一个块128M,另一个块2M.

    2.小文件

    1、HDFS 适应场景: 大文件存储,小文件是致命的
    2、如果小文件很多的,则有可能将NN(4G=42亿字节)撑爆。例如:1个小文件(阈值<=30M),那么NN节点维护的字节大约250字节。一亿个小文件则是250b*1亿=250亿.将会把NN节点撑爆。如果一亿个小文件合并成100万个大文件:250b*1百万=2亿字节。
    3、在生产上一般会:
    1)调整小文件阈值
    2)合并小文件:
    a.数据未落地到hdfs之前合并
    b.数据已经落到hdfs,调用spark service服务 。每天调度去合并 (-15天 业务周期)
    3)小文件的危害:
    a.撑爆NN。
    b.影响hive、spark的计算。占用集群计算资源

    3.副本数

    1、如果是伪分布式,那么副本数只能为一。
    2、生成上副本数一般也是官方默认参数: 3份

    <property>
          <name>dfs.replication</name>
          <value>3</value>
    </property>
    

    如果一个文件130M,副本数为3。那么第一个block128M,有三份。另外一个block2M,也有三份。
    题目:
    blockSize128M,副本数3份,那么一个文件260M,请问多少块,多少实际存储?
    260%128=2....4M 3个块3个副本=9块
    260M
    3=780M

    相关文章

      网友评论

          本文标题:hdfs详解之块、小文件和副本数

          本文链接:https://www.haomeiwen.com/subject/rchbhctx.html