hdfs块大小,小文件,副本数

1.块大小

hdfs默认的块大小为128M,可以在官网查看参数dfs.blocksize。
假如一个文件的大小为130M,往HDFS里面存储时,先将128M存储到第一个块里面,剩余的2M则会存储到第二个块里面,但第二个快的实际大小为2M。

2.小文件

小文件的存储,对HDFS是致命的,默认小文件的定义,各个公司是不同的,可以从自己公司的日常文件中,随机挑选1000个文件,以此来定义小文件的大小。

小文件危害:
1、NameNode需要的内存大大增大,增加NameNode压力,这样会限制了集群的扩展。
2、在HDFS中,小文件的读写处理速度要远远小于大文件
3、Hive中,小文件会开很多map,一个map开一个JVM去执行,所以这些任务的初始化,启动,执行会浪费大量的资源,严重影响性能。

3.副本数

伪分布式安装HDFS,副本数只有一个
集群安装HDFS,默认副本数是3个,参数:dfs.replication,官方也定义了最大副本数是512个,参数:dfs.replication.max。

题目:块大小128m,副本数3份,一个文件260m,请问需要多少块,多少实际存储?
260M%128M = 2 ……4M 一个副本需要3个块 总共需要9个块
实际存储为 260M * 3 = 780M

你可能感兴趣的:(hdfs)