我们在分布式存储原理总结中了解了分布式存储的三大特点:
数据分块,分布式的存储在多台机器上
数据块冗余存储在多台机器以提高数据块的高可用性
遵从主/从(master/slave)结构的分布式存储集群
HDFS作为分布式存储的实现,肯定也具有上面3个特点。
HDFS分布式存储:
在HDFS中,数据块默认的大小是128M,当我们往HDFS上上传一个300多M的文件的时候,那么这个文件会被分成3个数据块:
所有的数据块是分布式的存储在所有的DataNode上:
为了提高每一个数据块的高可用性,在HDFS中每一个数据块默认备份存储3份,在这里我们看到的只有1份,是因为我们在hdfs-site.xml中配置了如下的配置:
dfs.replication
1
表示数据块的备份数量,不能大于DataNode的数量,默认值是3
我们也可以通过如下的命令,将文件/user/hadoop-twq/cmd/big_file.txt的所有的数据块都备份存储3份:
hadoop fs -setrep 3 /user/hadoop-twq/cmd/big_file.txt
我们可以从如下可以看出:每一个数据块都冗余存储了3个备份