hdfs笔记

块的大小128M 
块的副本数3 
<property>
        <name>dfs.blocksize</name>
        <value>134217728</value>
</property>
<property>
        <name>dfs.replication</name>
        <value>3</value>
</property>

生产上 hdfs不适合存储小文件?为什么不合适?如果真的有小文件,该怎么办?该怎么合并?

小文件过多,会过多占用namenode的内存,并浪费block。 

dataNode会向NameNode发送两种类型的报告:增量报告和全量报告。 
增量报告是当dataNode接收到block或者删除block时,会向nameNode报告。 
全量报告是周期性的,NN处理100万的block报告需要1s左右,这1s左右NN会被锁住,其它的请求会被阻塞。

文件过小,寻道时间大于数据读写时间,这不符合HDFS的设计: 
HDFS为了使数据的传输速度和硬盘的传输速度接近,则设计将寻道时间(Seek)相对最小化,将block的大小设置的比较大,这样读写数据块的时间将远大于寻道时间,接近于硬盘的传输速度。
 

面试题:
一个文件160m,块大小128m,副本数2。
请问实际几个块,实际物理存储多少?
128m +128m
32m  + 32
4个块: 160/128=1...32(进1,为2)  2*2=4

160m *2 =320m

猜你喜欢

转载自blog.csdn.net/xiaoxiongaa0/article/details/88072649
今日推荐