hadoop block

1、Block,文件块:最基本的存储单位。文件被切成多个Block,存在dataNode之上,dataNode上会有多个不同Block,相同Block存在于多个dataNode上。

对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。HDFS默认Block大小是128MB,以一个256MB文件,共有256/128=2个Block.

2、不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。Replication,多复本:默认情况下每个块有三个副本(hdfs-site.xml的dfs.replication属性),hadoop2.0默认block大小为128M,1.0为64M;

当其中某个Block副本丢失了(比如磁盘坏掉了),系统会自动复制其他节点上相同block到其他空闲的节点来增加一个副本;

3、Block的副本放置策略:

第一个副本:放在上传文件的dataNode上,如果是集群外提交则随机挑选一台磁盘不太满,cpu不太忙的节点上;

第二个副本:放在与第一个副本不同的机架的节点上,因为同一个机架上的节点共用一个电源,若电源断了,节点就都挂了;

第三个副本:放在与第二个副本相同机架的节点上;

更多副本:随机节点;

猜你喜欢

转载自sungyang.iteye.com/blog/2269192