HDFS(Hadoop Distributed File System) 是一个 Apache Software Foundation项目, 是 Apache Hadoop 项目的一个子项目. Hadoop 非常适于存储大型数据(比如 TB 和 PB), 其就是使用 HDFS 作为存储系统. HDFS使用多台计算机存储文件, 并且提供统一的访问接口,像是访问一个普通文件系统一样使用分布式文件系统. HDFS对数据文件的访问通过流的方式进行处理, 这意味着通过命令和 MapReduce程序的方式可以直接使用 HDFS. HDFS 是容错的,且提供对大数据集的高吞吐量访问.
HDFS 的一个非常重要的特点就是一次写入、多次读取,该模型降低了对并发控制的要求, 简化了数据聚合性, 支持高吞吐量访问.而吞吐量是大数据系统的一个非常重要的指标,吞吐量高意味着能处理的数据量就大.
NameNode | DataNode |
---|---|
存储元数据 | 存储文件内容 |
元数据保存在内存中 | 文件内容保存在磁盘 |
保存文件, block, DataNode 之间的关系 | 维护了 block id 到 DataNode 文件之间的关系 |