一、Hadoop分布式文件系统
-
当数据集超过一个单独的物理计算机的存储能力时,便有必要将它分布到多个独立的计算机。
-
Hadoop有一个被称为HDFS的分布式文件系统,全称为 Hadoop Distributed File System 。(有时可能简称为DFS,在非正式情况或者文档配置中,其实是一样的)
二、HDFS的设计
- HDFS是为以流式数据访问模式存储超大文件而设计的文件系统,在商用硬件的集群上运行。让我们看看下面的说明:
超大文件 :“超大文件”在这里指几百MB,几百GB甚至几百TB大小的文件。
-
流式数据访问
HDFS建立在这样一个思想上:一次写入、多次读取模式是最高效的。一个数据集通常由数据源生成或复制,接着在此基础上进行各种各样的分析。
-
低延迟的数据访问
需要低延迟访问数据在毫秒范围内的应用并不适合HDFS。HDFS是为达到高数据吞吐量而优化的,这样可能会为延迟付出代价。
-
大量的小文件
名称节点(Namenode)存储着文件系统的元数据,因此文件数量的限制也由名称节点的内存量决定。根据经验,每个文件,索引目录及块占大约150个字节。
举例,如果有一百万个文件,每个文件占一个块,就至少需要300MB的内存。
-
多用户写入,任意修改文件
HDFS中的文件只有一个写入者,而且写操作总是在文件的末尾。它不支持多个写入者,或是在文件的任意位置修改。(可能在以后这些会被支持,但它么