1. 概述
1. 文件系统是操作系统用来组织磁盘文件的方法和数据结构。
传统的文件系统指各种UNIX平台的文件系统,包括UFS等,它们管理本地的磁盘存储资源,提供文件到存储位置的映射,并抽象出一套文件访问接口供用户使用。通常包含的四类信息:超级块、Inode、文件内容、目录内容。
2. 分布式文件系统定义:分布式文件系统是一个可以存储、管理和检索文件、目录和对象的系统,它通过网络连接不同的机器,提供文件共享的接口,可以实现对文件的远程访问和同步。
特点:分布式文件系统具有可靠性、容错性和可扩展性等特点。它可以通过数据备份和恢复、节点复制和日志等技术,保证数据的安全性和可靠性。
3. 实现分布式文件系统一般有两种方法:共享文件系统和共享磁盘。
4. 常见的有:全局文件系统(GFS)、Hadoop分布式文件系统(HDFS)。
2. 基本架构
1. 分布式文件系统的典型架构,其中重要的服务器包括:主控服务器、数据服务器和客户服务器。
2. 主控服务器:负责整个文件系统的管理,包括命名空间的维护、数据服务器管理、服务调度等。
主要的功能有:命名空间的维护、数据服务器管理、服务调度、主备容灾。
3. 数据服务器:负责数据的存储和备份,包括数据本地存储、状态维护、副本管理等。
主要的功能有:数据本地存储、状态维护、副本管理。
4. 客户服务器:为用户提供文件读写、目录操作等APIs,处理用户请求并返回结果。
主要的功能有:接口设计、缓存管理、错误处理和恢复
3. GFS和HDFS
1. GFS集成了持续的监控、错误侦测、灾难冗余以及自动恢复的机制。一个文件块的大小是64M。绝大部分的大数据都是采用在文件尾部追加数据的方式。
2. GFS特点:控制流和数据流的分离、降低master的负载、性能提高、在用户态下实现。
3. HDFS的架构相对简单,它包括一个主节点(NameNode)和多个数据节点(DataNode),主节点负责管理和维护文件系统的元数据,数据节点则负责存储数据。
4. HDFS默认的最基本的存储单位是64M的数据块,这个数据块可以理解和一般的文件里面的分块是一样的。不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。
5. HDFS优点:处理超大文件;流式地访问数据;运行与廉价的商用机器集群。缺点:不适合低延迟数据访问;流式地访问数据;无法高效存储大量小文件;不支持多用户写入及任意修改文件。
6. ZooKeeper是Hadoop 的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
7. ZooKeeper扮演的角色:领导者、学习者(跟随者和观察者)。
4. 云存储
1. 云存储是一种基于云计算技术的数据存储服务,通过网络将大量数据存储在远程的数据中心,用户可以随时随地通过互联网进行数据的访问和管理。
2. 按部署方式分类:公有云存储、私有云存储、混合云存储。
按服务模式分类:文件存储、块存储、对象存储。
按数据归属权分类:个人云存储、企业云存储、块存储、文件存储、对象存储。