大型分布式文件系统HDFS的整体架构
1 概述 HDFS是分布式文件系统,具有高度容错能力,运行在廉价的机器上。HDFS提供对应用程序数据的高吞吐量访问,适用于具有大型数据集的应用程序。 2 HDFS特性 (1)可用于存储超大文件,如(GB,TB,PB)级别的文件。 (2)可运行在廉价的硬件之上,HDFS通过自身的容错机制来保证数据的安全性 (3)流式数据访问,支持一次写入、多次读取的高效访问模式。 (4)适合数据访问高吞吐量的应用场景,不适合要求低延时数据访问的应用场景。 (5)为了保证数据访问的高效性,HDFS不支持多个写入操作,也不支持在文件的任意位置进行修改,但不排除后续会支持这些操作。 本文讲解的是Hadoop2.x发行版 3 HDFS数据块 HDFS的数据块默认大小为128MB,之所以设置这么大的块占用空间,主要是为了减少磁盘的最小化寻址开销,HDFS上的文件会被切割为以块大小为单位的多个分块,为了保证数据的安全性,每个数据块都会被复制到多个服务节点中进行备份(默认为3个),通过应用程序也可以指定每个文件的副本数。如果发现一个块不可用,系统会从其他地方读取另一个副本块。 4 NameNode 和 DataNodes HDFS属于master/slave架构,由一个名称节点(NameNode)与多个数据节点(DataNodes)构成。 (1)NameNode:存放元数据(名称,副本数、权限、块列表......