第4章 分布式文件操作系统

来源:互联网 发布:淘宝cf会员怎么开通 编辑:程序博客网 时间:2024/06/16 06:36

对任何分布式操作系统而言,文件系统都是极其重要的部分,与单机操作系统一样,分布式文件系统的主要作用也是存储程序和数据,以便在计算资源需要时获取这些数据。那分布式文件系统跟单机文件系统的区别: 【分布式文件系统又可以叫做网络文件系统,是分布在多台处理机上通过网络进行通信;所以需要在每台处理机器启动一个进程来辅助;对分布式文件系统展示给用的一个大文件只是一个文件,但是后台肯定是分布到多台处理机器上的】

  1. 分布式系统中,区分文件服务和文件服务器这2个概念是非常重要:
  • 文件服务:说明了文件系统对用户的接口;用户调用文件服务的API 接口来实现数据的读、写等操作,不涉及数据在分布式文件系统 或者磁盘是怎么存放,或者怎么读写的细节
  • 文件服务器:运行在某台处理机上的一个有助于实现文件服务的进程,一个分布式文件系统可以有一个或者多个文件服务器;客户可以不知道多个文件服务器以及每个服务器的位置和功能。客户只需要知道调用文件服务的API接口,要求的任务以指定的方式来执行,并返回需要的结果即可。对客户来说分布式文件系统和单机文件系统没有任何区别(从使用方法上感觉)


4.1 分布式文件系统的设计

分布式文件系统通常包括2个截然不同的部分:真正的文件服务和目录服务,文件服务涉及单个文件的操作:比如读写、追加等;后者涉及到目录的创建、管理
  1. 文件服务接口:文件最基本的服务就是读写,文件服务提供了2种工作方式:
  • 上传和下载模式:只需要提供数据的地址和传送机制,让client  可以从服务器下载,或者从client 上传到服务器;二者都是数据的全量copy,需要占用空间
  • 远程访问模式:client 直接在远程调用,在文件服务上进行读、写、抽取自己需要的数据,不需要全量的copy;比较节约空间

4.2 hdfs 的架构理解



  • namenode: 是维护元数据的信息服务节点,分布式文件中任何一个文件的信息(属性信息、备份数量、地址) 都在这个namenode 里面进行维护;
  • datanode:具体的某台处理机,借助于os的文件系统进行保存数据,完成数据的真正、读写;并定期向namenode 进行心跳通信
  • senconday namenode : 二级namenode,当namenode 里面的元数据很大时,把元数据信息进行分级,也做成分布式的namenode


4.3 hdfs 里面数据存储的格式



4.4 hdfs 数据的读写




* hdfs 文件写流程



4.5 hdfs 分布式文件系统的其他特性

  • 副本机制
  • 负载均衡
  • 分布式缓存


0 0