精华内容
下载资源
问答
  • 什么是分布式文件系统 分布式文件系统解决了海量文件存储及传输访问的瓶颈问题,对海量视频的管理、对海量图片的管理等。 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接...

    什么是分布式文件系统

    分布式文件系统解决了海量文件存储及传输访问的瓶颈问题,对海量视频的管理、对海量图片的管理等。

    分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连

     

    为什么会有分布文件系统

    1.存在问题

    分布式文件系统是面对互联网的需求而产生,互联网时代对海量数据如何存储?靠简单的增加硬盘的个数已经满足不了我们的要求,因为硬盘传输速度有限但是数据在急剧增长,另外我们还要要做好数据备份、数据安全等问题。

    2.解决办法

    采用分布式文件系统可以将多个地点的文件系统通过网络连接起来,组成一个文件系统网络,结点之间通过网络进行通信,一台文件系统的存储和传输能力有限,我们让文件在多台计算机上存储,通过多台计算共同传输

    好处

    1.一台计算机的文件系统处理能力扩充到多台计算机同时处理

    2.如果一台计算机挂了,还有另外副本计算机提供数据。

    3.每台计算机可以放在不同的地域,这样用户就可以就近访问,提高访问速度

     

    主流的分布式文件系统

    ①NFS

    在客户端上映射NFS服务器的驱动器,客户端通过网络访问NFS服务器的硬盘完全透明。

     

    ②GFS

    GFS采用主从结构,一个GFS集群由一个master大量的chunkserver组成。master存储了数据文件的元数据,一个文件被分成了若干块存储在多个chunkserver中。用户从master中获取数据元信息,从chunkserver存储数据。

     

    ③HDFS

    Hadoop分布式文件系统主要用于大数据。HDFS采用主从结构,一个HDFS集群由一个名称结点若干数据结点组成

    名称结点存储数据的元信息,一个完整的数据文件分成若干块存储在数据结点。客户端从名称结点获取数据的元信息及数据分块的信息,得到信息客户端即可从数据块来存取数据。

     

     

    展开全文
  • 文件系统采用块的概念,原因是为了减少磁盘寻址时间,把寻道时间分摊到大量数据中 Windows Linux等操作系统,文件系统一般会把磁盘空间划分为每512字节一组,称为“磁盘块” ...分布式文件系...

    文件系统采用块的概念,原因是为了减少磁盘寻址时间,把寻道时间分摊到大量数据中

    Windows Linux等操作系统,文件系统一般会把磁盘空间划分为每512字节一组,称为“磁盘块”
    它是文件系统读写的最小单位,块(Block)的大小通常是磁盘块的整数倍,即每次读写的数据量必须是磁盘块大小的整数倍。

    磁盘块--512字节     块的大小一般几千字节     磁盘块与块不是同一概念
    

    分布式文件系统也采用了块的概念,文件被分成若干个块进行存储,块是数据读写的基本单位,分布式文件系统的块要比操作系统的块大很多,原因是:最小化寻址开销,但是不宜过大,原因:MapReduce中的Map任务一次只能处理一个块中的数据,如果启动任务过少,会降低作业的并行处理速度。比如。HDFS默认的块的大小是64MB,还有一点不同于操作系统,在分布式系统中,如果一个文件小于一个块的大小,它并不占用整个数据块的存储空间。

    名称节点

    负责管理命名空间。命名空间包含目录,文件和块,命名空间的管理指的是对目录,文件和块的创建,修改和删除等基本操作。HDFS中只有一个命名空间。

    保存了两个数据结构,即FsImage和EditLog。
    FSImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据。元数据包括块的位置信息(动态),快的偏移量,权限大小(静态)。EditLog(操作日志)中记录了所有针对文件的创建,删除,重命名等操作。
    名称节点记录了每个文件中各个块所在的位置信息,但是不持久化这些信息,而是在系统每次启动的时候扫描所有数据节点重构得到这些信息。
    启动时,名称节点会将FSImage的内容加载到内存当中,然后执行EditLog中的各项操作,使得元数据保持到最新。这个操作完成后,会创建一个新的FSImage和一个空的EditLog。启动的过程中处于“安全模式”,只能对外提供读操作,无法提供写操作。启动结束后,退出安全模式,对外提供读写操作。

    数据节点

    数据节点是分布式文件系统的工作节点,负责数据的存储和读取,会根据客户端或者名称节点的调度来进行数据的存储和检索,并且向名称节点定时发送自己所存储的块的列表,每个数据节点都会将数据保存在各自节点的本地Linux系统中。

    第二名称节点

    出现原因:防止名称节点在启动的过程中长期处于“安全模式”,影响用户使用(客户体验)。
    功能:完成FSImage和Editlog的合并操作,减少Editlog文件大小,缩短名称节点的重启时间。
    作为名称节点的“检查点”(备份数据信息)。
    不能作为备份节点,原因:不能起到“热备份”。当数据节点出现故障,还是有可能丢失部分信息。
    在这里插入图片描述

    通信协议

    在这里插入图片描述

    HDSF HA

    出现原因:解决“单点故障问题”;提供“热备份”。
    “单点故障”:一个集群中只有一个名称节点,如果出现故障,导致整个集群变得不可用。
    解决方法:在集群中一般设置两个名称节点,其中一个名称节点处于“活跃(Active)”状态,另一个处于“待命(Standby)”状态。处于活跃状态的负责对外处理所有客户端的请求,而处于待命状态的名称节点则为备用节点,保存了足够多的系统元数据,当名称节点出现故障时提供快速恢复的能力。也就是说,在HDFS HA中,处于待命状态的名称节点提供了“热备份”,一旦活跃名称节点出现故障,就可以立即切换到待命名称节点。两种名称节点的同步,可以借助于一个共享存储系统来实现,比如zookeeper。zookeeper可以确保任意时刻只有一个名称节点提供对外服务。在这里插入图片描述

    展开全文
  • Hadoop分布式文件系统(HDFS)是一个设计为用在普通硬件设备上的分布式文件系统。它与现有的分布式文件系统有很多近似的地方,但又和这些文件系统有很明显的不同。
  • GFS分布式文件系统

    2018-06-16 08:56:23
    本文介绍GFS分布式文件系统的技术设计原理,是学习分布式文件系统的资料
  • 本书描述Glusterfs分布式文件系统原理、结构和设计,是学习分布式文件系统资料
  • 但是,分区存储的数据不方便管理和维护,迫切需要一种文件系统来管理多台机器上的文件,这就是分布式文件系统分布式文件系统是一种允许文件通过网络在多台主机上进行分享的文件系统,可让多台机器上的多用户分享...
  • 分布式文件系统 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 。...

    特点:分块(hadoop2:128M)、流水线读写


    分布式文件系统

    • 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 。
    • 是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。
    • 通透性。让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般。
    • 容错。即使系统中有某些节点脱机,整体来说系统仍然可以持续运作而不会有数据损失。
    • 分布式文件管理系统很多,hdfs只是其中一种。适用于一次写入多次查询的情况,不支持并发写情况,小文件不合适。

    为什么小文件不适合呢?瓶颈在于存储元数据信息。元数据信息存放在namenode上,为保证数据安全和快速读写,namenode把信息放到磁盘一份和内存一份。


    常见的分布式文件系统

    GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。




    Google学术论文,这是众多分布式文件系统的起源
    ==================================
    Google File System(大规模分散文件系统)
    MapReduce (大规模分散FrameWork)
    BigTable(大规模分散数据库)
    Chubby(分散锁服务)
    一般你搜索Google_三大论文中文版(Bigtable、 GFS、 Google MapReduce)就有了。
    做个中文版下载源:http://dl.iteye.com/topics/download/38db9a29-3e17-3dce-bc93-df9286081126
    做个原版地址链接:
    http://labs.google.com/papers/gfs.html
    http://labs.google.com/papers/bigtable.html 
    http://labs.google.com/papers/mapreduce.html




    GFS(Google File System)
    --------------------------------------
    Google公司为了满足本公司需求而开发的基于Linux的专有分布式文件系统。。尽管Google公布了该系统的一些技术细节,但Google并没有将该系统的软件部分作为开源软件发布。
    下面分布式文件系统都是类 GFS的产品。




    HDFS
    --------------------------------------
    Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。 Hadoop是Apache Lucene创始人Doug Cutting开发的使用广泛的文本搜索库。它起源于Apache Nutch,后者是一个开源的网络搜索引擎,本身也是Luene项目的一部分。Aapche Hadoop架构是MapReduce算法的一种开源应用,是Google开创其帝国的重要基石。




    Ceph
    ---------------------------------------
    是加州大学圣克鲁兹分校的Sage weil攻读博士时开发的分布式文件系统。并使用Ceph完成了他的论文。
    说 ceph 性能最高,C++编写的代码,支持Fuse,并且没有单点故障依赖, 于是下载安装, 由于 ceph 使用 btrfs 文件系统, 而btrfs 文件系统需要 Linux 2.6.34 以上的内核才支持。
    可是ceph太不成熟了,它基于的btrfs本身就不成熟,它的官方网站上也明确指出不要把ceph用在生产环境中。




    Lustre
    ---------------------------------------
    Lustre是一个大规模的、安全可靠的,具备高可用性的集群文件系统,它是由SUN公司开发和维护的。
    该项目主要的目的就是开发下一代的集群文件系统,可以支持超过10000个节点,数以PB的数据量存储系统。
    目前Lustre已经运用在一些领域,例如HP SFS产品等。
    适合存储小文件、图片的分布文件系统研究
    ====================================
    用于图片等小文件大规模存储的分布式文件系统调研
    架构高性能海量图片服务器的技术要素
    nginx性能改进一例(图片全部存入google的leveldb)
    FastDFS分布文件系统
    TFS(Taobao File System)安装方法
    动态生成图片 Nginx + GraphicsMagick 




    MogileFS
    ---------------------------------------
    由memcahed的开发公司danga一款perl开发的产品,目前国内使用mogielFS的有图片托管网站yupoo等。
    MogileFS是一套高效的文件自动备份组件,由Six Apart开发,广泛应用在包括LiveJournal等web2.0站点上。
    MogileFS由3个部分组成:
      第1个部分是server端,包括mogilefsd和mogstored两个程序。前者即是 mogilefsd的tracker,它将一些全局信息保存在数据库里,例如站点domain,class,host等。后者即是存储节点(store node),它其实是个HTTP Daemon,默认侦听在7500端口,接受客户端的文件备份请求。在安装完后,要运行mogadm工具将所有的store node注册到mogilefsd的数据库里,mogilefsd会对这些节点进行管理和监控。
      第2个部分是utils(工具集),主要是MogileFS的一些管理工具,例如mogadm等。
      第3个部分是客户端API,目前只有Perl API(MogileFS.pm)、PHP,用这个模块可以编写客户端程序,实现文件的备份管理功能。




    mooseFS
    ---------------------------------------
    持FUSE,相对比较轻量级,对master服务器有单点依赖,用perl编写,性能相对较差,国内用的人比较多
    MooseFS与MogileFS的性能测试对比 
     


    FastDFS
    ---------------------------------------
    是一款类似Google FS的开源分布式文件系统,是纯C语言开发的。
    FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
    官方论坛  http://bbs.chinaunix.net/forum-240-1.html
    FastDfs google Code     http://code.google.com/p/fastdfs/
    分布式文件系统FastDFS架构剖析   http://www.programmer.com.cn/4380/
     
    TFS
    -------------------------------------
    TFS(Taobao !FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器 集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用 在淘宝各项应用中。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化 了文件的访问流程,一定程度上为TFS提供了良好的读写性能。
    官网 : http://code.taobao.org/p/tfs/wiki/index/




    GridFS文件系统
    -------------------------------------
    MongoDB是一种知名的NoSql数据库,GridFS是MongoDB的一个内置功能,它提供一组文件操作的API以利用MongoDB存储文件,GridFS的基本原理是将文件保存在两个Collection中,一个保存文件索引,一个保存文件内容,文件内容按一定大小分成若干块,每一块存在一个Document中,这种方法不仅提供了文件存储,还提供了对文件相关的一些附加属性(比如MD5值,文件名等等)的存储。文件在GridFS中会按4MB为单位进行分块存储。
    MongoDB GridFS 数据读取效率 benchmark
    http://blog.nosqlfan.com/html/730.html
    nginx + gridfs 实现图片的分布式存储  安装(一年后出问题了)
    http://www.cnblogs.com/zhangmiao-chp/archive/2011/05/05/2038285.html
    基于MongoDB GridFS的图片存储 
    http://liut.cc/blog/2010/12/about-imsto_my-first-open-source-project.html
    nginx+mongodb-gridfs+squid
    http://1008305.blog.51cto.com/998305/885340

    展开全文
  • 分布式文件系统HDFS

    2020-03-01 22:10:54
    分布式文件系统HDFS 分布式文件系统:   分布式文件系统是一种通过网络实现文件在多台主机上进行分布式存储的文件系统。...  分布式文件系统在物理结构上是由计算机集群中的多个节点构成的,如图所...

    分布式文件系统HDFS

    分布式文件系统:
      分布式文件系统是一种通过网络实现文件在多台主机上进行分布式存储的文件系统。分布式文件系统的设计一般采用“客户机/服务器”模式,客户端以特定的通信协议通过网络与服务器建立连接,提出文件访问请求,客户端和服务器可以通过设置访问权来限制请求方对底层数据存储块的访问。

    分布式文件系统的结构
      分布式文件系统在物理结构上是由计算机集群中的多个节点构成的,如图所示。每个节点都有不同的功能。分布式文件系统是针对大规模数据存储而设计的,主要用于处理大规模文件,如TB级文件。处理过小的文件不仅无法充分发挥其优势,而且会严重影响到系统的扩展和性能。
    在这里插入图片描述
    在这里插入图片描述
    HDFS简介
      HDFS开源实现了 GFS的基本思想。HDFS原来是Apache Nutch搜索引攀的一部分,后来独立出来作为一个Apache子项目,并和MapReduce 一起成为Hadoop的核心组成部分。HDFS支持流数据读取和处理超大规模文件,并能够运行在由廉价的普通机器组成的集群上。

    HDFS特性

    • 兼容康价的硬件设备
    • 无数据读写
    • 大数据集
    • 简单的文件模型
    • 强大的跨平台性
    • 不适合低延迟数据访问
    • 无法高效存储大量小文件
    • 不支持多用户写入及任意修改文件

    HDFS的相关概念

    • 块:相信块大家都不陌生,为了提高磁盘存储效率,都是以数据块为单位的。HDFS也是一样,不过默认一个块的大小事64MB。
    • 名称节点和数据节点:在HDFS中,名称节点负责管理分布式文件系统的命名空间,保存了两个核心的数据结构,即Fslmage和EditLog。数据节点是分布式文件系统HDFS的工作节点,负责存储读取数据。
    • 第二名称节点:顾名思义,是为了解决第一名称节点出现问题的,不做过多解释啦。

    HDFS体系结构
    HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群包括一个名称节点和若干个数
    据节点,下图即可全面了解。
    在这里插入图片描述

    HDFS的存储原理

    • 数据的冗余存储:HDFS采用了多副本方式对数据进行冗余存储,通常一个数据块的多个副本会被分布到不同的数据节点上。
    • 数据存取策略:数据存取策略包括数据存放、数据读取和數据复制等方面,它在很大程度上会影响到整个分布式文件系统的读写性能,是分布式文件系统的核心内容。
    • 数据的错误与恢复

    HDFS的数据读写过程
      读写过程我觉得没必要了解太清楚了,这里最重要的是和编程结合起来进行一些实际的操作。

    展开全文
  • Ceph分布式文件系统

    千次阅读 2019-04-29 14:18:29
    什么是分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连 分布式文件系统的设计基于客户机/服务器模式 常用...
  • 分布式文件系统概述

    千次阅读 2017-11-27 13:48:17
    分布式文件系统简介普通的存储方法 分布式存储方法 NFS GFS分布式文件系统简介文件系统是在物理存储和文件操作之间的抽象层,使得文件管理,存储管理更加方便。分布式文件系统,使得文件系统容易扩容,方便配置,...
  • Hadoop分布式文件系统--HDFS结构分析

    千次阅读 2015-08-09 16:57:52
    前言在Hadoop内部,具体实现了许多类的文件系统,当然最最被我们用到的就是他的分布式文件系统HDFS了。但是本篇文章不会讲HDFS的主从架构等东西,因为这些东西网上和资料书中都讲得很多了。所以,我决定以我个人的...
  • 分布式文件系统ppt

    2010-12-25 11:06:18
    这是一个有关分布式文件系统研究进展状况展示,包含有分布式文件系统的历史与现状、体系结构、 关键技术、技术难点,以及我过的蓝鲸文件系统描述 系统结构 特征介绍。本ppt是本人期末作业仅供参考。
  • 分布式文件系统选型小记

    千次阅读 2020-06-07 23:30:03
    分布式文件系统选型小记 Q&A 分布式文件系统是什么? 分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,是通过计算机网络与节点(可简单的理解为一...
  • 分布式文件系统

    万次阅读 2018-09-05 10:24:44
    分布式文件系统 相对于本机端的文件系统而言,分布式文件系统(英语:Distributed file system, DFS),或是网络文件系统(英语:Network File System),是一种允许文件通过网络在多台主机上分享的文件系统,可让...
  • 分布式文件系统简介

    千次阅读 2016-05-23 02:27:20
    常见的分布式文件系统有,GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。  Google学术论文...
  • 结构化数据、大数据、云存储已经毫无争议地成为了信息技术发展趋势和热点,分布式文件系统作为核心基础被推到了浪潮之巅,广泛被工业界和学术界热推。现代分布式文件系统普遍具有高性能、高扩展、高可用、高效能、...
  • 从本篇文章开始介绍一款现在非常火的分布式文件系统Ceph,包括这款文件系统的安装、基本使用场景、常用管理命令和重要工作原理。特别是讨论了PaxOS算法的基本理后,就更容易理解Ceph分布式文件系统中各种角色的工作...
  • 常见分布式文件系统

    千次阅读 2015-12-14 11:48:46
    分布式文件系统: 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的...
  • 一文读懂什么是分布式文件系统

    千次阅读 2019-10-25 23:20:26
    一文读懂什么是分布式文件系统什么是分布式文件系统一般文件系统什么是分布式文件系统分布式文件系统与一般文件系统的对比 什么是分布式文件系统 本篇来讲讲什么是一般文件系统,什么是分布式文件系统,以及他们的...
  • 常见的分布式文件系统介绍

    千次阅读 2018-10-08 10:34:53
    常见的分布式文件系统有GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存 储服务。 Google学术论文,这是众多...
  • FastDFS分布式文件系统

    千次阅读 2019-09-06 16:35:45
    FastDFS是一个轻量级的开源分布式文件系统 FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡 FastDFS实现了软件方式的RAID,可以使用廉价的IDE硬盘进行存储 支持存储服务器在线扩容 ...
  • MooseFS分布式文件系统源代码级分析,涵盖整个系统的运行框架,元数据和块数据结构定义,主节点、块节点、日志节点间的通信交互过程,快照、配额、副本等机制的实现,底层rpc实现
  • FastDFS是一款分布式文件系统,功能主要包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了文件大容量存储和 高性能访问的问题。FastDFS特别适合以文件为载体的在线服务,如图片、视频、文档等等...
  • TFS(Team Foundation Server)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问........

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 293,445
精华内容 117,378
关键字:

分布式文件系统的结构