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

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

  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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值