hdfs:hadoop distributed file system分布式文件系统
一、设计思想
1.分块存储:
举个例子,如有有100T文件,存在3个节点,怎么存?100T存在一个节点上吗?直接存储在一台机器上 合理吗?不合理!负载不均衡。我们可以将100T分成多个部分进行存储,分块存储。
每个部分(块)应该分很多合适?1T,如果文件只有2T,分成2个块,还是负载不均衡!
如果块太大不合适,负载会不均衡。
块大小1kb合适吗?也不合适。元数据存储的时候,一个块会存储一条元数据,这样会导致需要存很多元数据。namenode的压力会很大。
hadoop中已经对块做了设计:hadoop1:块大小默认64M ;hadoop2:块大小默认是128M;
在参数设置里有:
dfs.blocksize 134217728 128M
说到这里,我们来看一下集群中的配置:
集群中的所有的配置如果没有进行配置则使用默认配置:
例如我的配置在:/home/hadoop/apps/hadoop-2.7.6/share/hadoop/目录下的jar包中:
core-default.xml
hdfs-default.xml
yarn-default.xml
mapred-default.xml
想要修改默认块大小,只需要修改这个参数:
hdfs-site.xml文件中:
<property>
<name>dfs.blocksize</name>
<value>