什么是Hadoop分布式文件系统分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连 。
Hadoop是Apache软件基金会所研发的开放源码并行运算编程工具和分散式档案系统,与MapReduce和Google档案系统的概念类似 。
HDFS(Hadoop 分布式文件系统)是其中的一部分 。
linux下常用的分布式文件系统有哪些?
文章插图
Lustre是HP,Intel,Cluster File System公司联合美国能源部开发的Linux集群并行文件系统,名称来源于Linux和Clusters 。同时Lustre也是一个遵循GPL许可协议的开源软件,Lustre也被称为平行分布式文件系统 , 常用于大型计算机集群和超级电脑中 。Lustre的主要组建包括:元数据服务器(Metadataservers, MDSs)、对象存储服务器(objectstorage servers,OSSs)和客户端 。其中MDSs提供元数据服务,MGS管理服务器提供Lustre文件系统配置信息,OSS对象存储服务器expose块设备提供数据 。Lustre文件系统针对大文件读写进行了优化,能够提高性能的IO能力;在源数据独立存储、服务和网络失效的快速恢复、基于意图的分布式锁管理和系统可快速配置方面优异 。分布式存储的关键技术主要包括:全局名字空间、缓存一致性、安全性、可用性和可扩展性 。从数据形态来划分,主要有:结构化数据、非机构化数据和半结构化数据 。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统 。它能运行主要的UNIX工具软件、应用程序和网络协议 。它支持32位和64位硬件 。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统 。Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间) 。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核 。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机 。
当前主流分布式文件系统有哪些?各有什么优缺点目前几个主流的分布式文件系统除GPFS外,还有PVFS、Lustre、PanFS、GoogleFS等 。
1.PVFS(Parallel Virtual File System)项目是Clemson大学为了运行Linux集群而创建的一个开源项目,目前PVFS还存在以下不足:
1)单一管理节点:只有一个管理节点来管理元数据,当集群系统达到一定的规模之后,管理节点将可能出现过度繁忙的情况,这时管理节点将成为系统瓶颈;
2)对数据的存储缺乏容错机制:当某一I/O节点无法工作时,数据将出现不可用的情况;
3)静态配置:对PVFS的配置只能在启动前进行,一旦系统运行则不可再更改原先的配置 。
2.Lustre文件系统是一个基于对象存储的分布式文件系统 , 此项目于1999年在Carnegie Mellon University启动,Lustre也是一个开源项目 。它只有两个元数据管理节点,同PVFS类似,当系统达到一定的规模之后 , 管理节点会成为Lustre系统中的瓶颈 。
3.PanFS(Panasas File System)是Panasas公司用于管理自己的集群存储系统的分布式文件系统 。
4.GoogleFS(Google File System)是Google公司为了满足公司内部的数据处理需要而设计的一套分布式文件系统 。
5.相对其它的文件系统,GPFS的主要优点有以下三点:
1)使用分布式锁管理和大数据块策略支持更大规模的集群系统,文件系统的令牌管理器为块、inode、属性和目录项建立细粒度的锁,第一个获得锁的客户将负责维护相应共享对象的一致性管理,这减少了元数据服务器的负担;
2)拥有多个元数据服务器,元数据也是分布式,使得元数据的管理不再是系统瓶颈;
3)令牌管理以字节作为锁的最小单位,也就是说除非两个请求访问的是同一文件的同一字节数据,对于数据的访问请求永远不会冲突.
超融合产品和分布式文件系统的区别是什么?什么是分布式文件系统?分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连 。分布式文件系统的设计基于客户机/服务器模式 。一个典型的网络可能包括多个供多用户访问的服务器 。另外 , 对等特性允许一些系统扮演客户机和服务器的双重角色 。例如,用户可以“发表”一个允许其他客户机访问的目录,一旦被访问,这个目录对客户机来说就像使用本地驱动器一样 。什么是超融合架构?超融合基础架构(Hyper-Converged Infrastructure,或简称“HCI”)也被称为超融合架构 , 是指在同一套单元设备(x86服务器)中不仅仅具备计算、网络、存储和服务器虚拟化等资源和技术,而且还包括缓存加速、重复数据删除、在线数据压缩、备份软件、快照技术等元素,而多节点可以通过网络聚合起来,实现模块化的无缝横向扩展(scale-out) , 形成统一的资源池 。超融合产品和分布式文件系统的区别是什么?超融合架构一般包括存储模块 , 虚拟化模块 , 控制管理模块 , 数据保护与容灾模块等 , 而这个存储一般用的就是分布式存储 。而分布式存储不一定是分布式文件系统 , 也可能是分布式块存储 。比如SmartX的超融合架构就是基于分布式块存储,还有一些厂商是基于分布式文件存储 。但如果深究分布式块存储的实现技术的时候,我们会发现一些分布式块存储是基于分布式文件系统实现的 。大致的原理是:先用分布式文件系统将物理磁盘管理起来,形成一个池(十分类似于Google GFS);从这个池里面创建文件 , 例如500GB的文件;然后通过块设备网关,例如iSCSI网关 , 将这个500GB的文件变成500GB的虚拟硬盘(块设备),对外提供服务 。超融合系统架构
分布式文件系统是什么?。?/h3>分布式文件系统(Distributed File System,DFS)
如果局域网中有多台服务器,并且共享文件夹也分布在不同的服务器上,这就不利于管理员的管理和用户的访问 。而使用分布式文件系统,系统管理员就可以把不同服务器上的共享文件夹组织在一起,构建成一个目录树 。这在用户看来 , 所有共享文件仅存储在一个地点 , 只需访问一个共享的DFS根目录,就能够访问分布在网络上的文件或文件夹,而不必知道这些文件的实际物理位置 。
什么是分布式存储系统?分布式存储系统定义分布式存储系统是大量普通PC服务器通过Internet互联,对外作为一个整体提供存储服务特性可扩展低成本高性能易用挑战分布式存储系统的挑战主要在于数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证数据的一致性 。分布式存储涉及的技术主要来自两个领域:分布式系统以及数据库 。数据分布一致性容错负载均衡事务与并发控制易用性压缩/解压缩分类非结构化数据,一般的文档结构化数据 , 存储在关系数据库中半结构化数据,HTML文档不同的分布式存储系统适合处理不同类型的数据:分布式文件系统非结构化数据,这类数据以对象的形式组织,不同对象之间没有关联,这样的数据一般称为Blob(二进制大对象)数据典型的有Facebook Haystack 以及 Taobao File System另外,分布式文件系统也常作为分布式表格系统以及分布式数据库的底层存储,如谷歌的GFS可以作为分布式表格系统Google Bigtable 的底层存储,Amazon的EBS(弹性存储块)系统可以作为分布式数据库(Amazon RDS)的底层存储总体上看,分布式文件系统存储三种类型的数据:Blob对象、定长块以及大文件分布式键值系统较简单的半结构化数据,只提供主键的CRUD(创建、读取、更新、删除)典型的有Amazon Dynamo 以及 Taobao Tair分布式表格系统较复杂的半结构化数据 , 不仅支持CRUD,而且支持扫描某个主键范围以表格为单位组织数据,每个表格包括很多行,通过主键标识一行,支持根据主键的CRUD功能以及范围查找功能典型的有Google Bigtable 以及 Megastore,Microsoft Azure Table Storage,Amazon DynamoDB等分布式数据库存储结构化数据,一般是由单机关系数据库扩展而来典型的包括MySQL数据库分片集群、Amazon RDS以及Microsoft SQL Azure
当前主流分布式文件系统有哪些?各有什么优缺点?目前几个主流的分布式文件系统除GPFS外,还有PVFS、Lustre、PanFS、GoogleFS等 。
1.PVFS(Parallel Virtual File System)项目是Clemson大学为了运行Linux集群而创建的一个开源项目,目前PVFS还存在以下不足:
1)单一管理节点:只有一个管理节点来管理元数据,当集群系统达到一定的规模之后,管理节点将可能出现过度繁忙的情况,这时管理节点将成为系统瓶颈;
2)对数据的存储缺乏容错机制:当某一I/O节点无法工作时,数据将出现不可用的情况;
3)静态配置:对PVFS的配置只能在启动前进行,一旦系统运行则不可再更改原先的配置 。
2.Lustre文件系统是一个基于对象存储的分布式文件系统,此项目于1999年在Carnegie Mellon University启动,Lustre也是一个开源项目 。它只有两个元数据管理节点,同PVFS类似,当系统达到一定的规模之后,管理节点会成为Lustre系统中的瓶颈 。
3.PanFS(Panasas File System)是Panasas公司用于管理自己的集群存储系统的分布式文件系统 。
4.GoogleFS(Google File System)是Google公司为了满足公司内部的数据处理需要而设计的一套分布式文件系统 。
5.相对其它的文件系统,GPFS的主要优点有以下三点:
1)使用分布式锁管理和大数据块策略支持更大规模的集群系统,文件系统的令牌管理器为块、inode、属性和目录项建立细粒度的锁,第一个获得锁的客户将负责维护相应共享对象的一致性管理,这减少了元数据服务器的负担;
2)拥有多个元数据服务器,元数据也是分布式,使得元数据的管理不再是系统瓶颈;
3)令牌管理以字节作为锁的最小单位,也就是说除非两个请求访问的是同一文件的同一字节数据,对于数据的访问请求永远不会冲突.
分布式文件系统有哪些主要的类别?【分布式文件系统】1、单机文件系统
用于操作系统和应用程序的本地存储 。
2、网络文件系统(简称:NAS)
基于现有以太网架构,实现不同服务器之间传统文件系统数据共享 。
3、集群文件系统
在共享存储基础上,通过集群锁,实现不同服务器能够共用一个传统文件系统 。
4、分布式文件系统
在传统文件系统上,通过额外模块实现数据跨服务器分布,并且自身集成raid保护功能,可以保证多台服务器同时访问、修改同一个文件系统 。性能优越,扩展性很好,成本低廉 。
当前主流的分布式文件系统有哪些分布式文件系统、集群文件系统、并行文件系统,这三种概念很容易混淆,实际中大家也经常不加区分地使用 。总是有人问起这三者的区别和联系,其实它们之间在概念上的确有交叉重叠的地方,但是也存在显著不同之处 。
分布式文件系统DFS 作用DFS最主要的作用是集中管理文件共享 。它提供一个标准的共享接入点 。这个听起来感觉好象没有意思,其实不然 。
试想一下,如果你有多台文件共享服务器,比如说:
\\srv1\Public
\\srv2\Report
\\srv3\Share
试想一下,如果没有这个标准接入点,你可能需要为用户添家三个共享的连接,分别指向这三个网络路径 。但有了DFS以后,你只需要将这三个共享添加到这个标准的接入点就可以了 。
除此之外,你可以会遇到一些特殊的情况,比如你的Srv1满了,需要增加一台服务器srv4来接替srv1的工作 。如果你使用了dfs,那么你只需要将接入点的Public共享重新指向srv4就可以了 。如果没有这个的话,你必须给每个用户重新添加一个指向srv4的连接,对吧?
我们在哪种情况下用到DFS(分布式文件系统)了DFS即分布式文件系统,主要用于解决把分散的共享资源集中管理的问题,DFS的基本概念是DFS根和DFS连接 。
在大多数环境中,共享资源驻留在多台服务器上的各个共享文件夹中 。要访问资源,用户或程序必须将驱动器映射到共享资源的服务器 , 或指定共享资源的通用命名约定 (UNC) 路径 。通过 DFS,一台服务器上的某个共享点能够作为驻留在其他服务器上的共享资源的宿主 。DFS 以透明方式链接文件服务器和共享文件夹,然后将其映射到单个层次结构,以便可以从一个位置对其进行访问,而实际上数据却分布在不同的位置 。用户不必再转至网络上的多个位置以查找所需的信息,用户在访问此共享中的文件夹时将被重定向到包含共享资源的网络位置 。这样,用户只需知道 DFS 根目录共享即可访问整个企业的共享资源 。
另外解释:
一、DFS为何物?
DFS即微软分布式文件系统的简称,系统管理员可以利用它来有效的整合网络资源,并把这些资源以单一的层次结构呈现给网络用户 。管理员利用它可以把资源发布成一个树形结构,这样大大简化了为用户进行资源配置和对资源管理的工作量 。我们可以在不同的机器上调整和移动文件,这不会影响到用户的访问 。
二、为什么要使用DES?
1、DFS使用了现有网络中的Share权限,管理员不必进行新的配置
2、通过一个DFS树形结构用户就可以访问多个网络资源,而不用再把远程驱动器映射到本地共享资源中 。
3、DFS可以配置一个资源的多个提供路径,用户对于最终资源的访问是随机的 。若一个路径提供的资源不能连接,DFS将定向到另一个提供者 。这可以达到容错和负载均衡的效果 。
4、在服务器故障或网络中断时,我们可以将资源路径重新定向的新的位置,而不会影响到用户的访问 。
5、IIS可以和DFS配合发布资源
在以下情形下,您应该考虑实施 DFS:
访问共享文件夹的用户分布在一个站点的多个位置或多个站点上 。
大多数用户都需要访问多个共享文件夹 。
通过重新分布共享文件夹可以改善服务器的负载平衡状况 。
用户需要对共享文件夹的不间断访问 。
您的组织中有供内部或外部使用的 Web 站点 。
HDFS分布式文件系统具有哪些优点HDFS分布式文件系统具有以下优点:
支持超大文件
支持超大文件 。超大文件在这里指的是几百M,几百GB,甚至几TB大小的文件 。一般来说hadoop的文件系统会存储TB级别或者PB级别的数据 。所以在企业的应用中,数据节点有可能有上千个 。
检测和快速应对硬件故障
在集群的环境中,硬件故障是常见的问题 。因为有上千台服务器连接在一起,这样会导致高故障率 。因此故障检测和自动恢复是hdfs文件系统的一个设计目标 。
流式数据访问
Hdfs的数据处理规模比较大,应用一次需要访问大量的数据,同时这些应用一般都是批量处理 , 而不是用户交互式处理 。应用程序能以流的形式访问数据集 。主要的是数据的吞吐量 , 而不是访问速度 。
简化的一致性模型
大部分hdfs操作文件时,需要一次写入,多次读取 。在hdfs中,一个文件一旦经过创建、写入、关闭后,一般就不需要修改了 。这样简单的一致性模型,有利于提高吞吐量 。
缺点
低延迟数据访问
低延迟数据 。如和用户进行交互的应用,需要数据在毫秒或秒的范围内得到响应 。由于hadoop针对高数据吞吐量做了优化,牺牲了获取数据的延迟,所以对于低延迟来说,不适合用hadoop来做 。
大量的小文件
Hdfs支持超大的文件,是通过数据分布在数据节点 , 数据的元数据保存在名字节点上 。名字节点的内存大?。龆薶dfs文件系统可保存的文件数量 。虽然现在的系统内存都比较大,但大量的小文件还是会影响名字节点的性能 。
多用户写入文件、修改文件
Hdfs的文件只能有一次写入,不支持写入,也不支持修改 。只有这样数据的吞吐量才能大 。
不支持超强的事务
没有像关系型数据库那样,对事务有强有力的支持 。
当前主流分布式文件系统有哪些?目前几个主流的分布式文件系统除GPFS外,还有PVFS、Lustre、PanFS、GoogleFS等 。
1.PVFS(Parallel Virtual File System)项目是Clemson大学为了运行Linux集群而创建的一个开源项目,目前PVFS还存在以下不足:
1)单一管理节点:只有一个管理节点来管理元数据,当集群系统达到一定的规模之后 , 管理节点将可能出现过度繁忙的情况,这时管理节点将成为系统瓶颈;
2)对数据的存储缺乏容错机制:当某一I/O节点无法工作时,数据将出现不可用的情况;
3)静态配置:对PVFS的配置只能在启动前进行,一旦系统运行则不可再更改原先的配置 。
2.Lustre文件系统是一个基于对象存储的分布式文件系统,此项目于1999年在Carnegie Mellon University启动,Lustre也是一个开源项目 。它只有两个元数据管理节点,同PVFS类似,当系统达到一定的规模之后,管理节点会成为Lustre系统中的瓶颈 。
3.PanFS(Panasas File System)是Panasas公司用于管理自己的集群存储系统的分布式文件系统 。
4.GoogleFS(Google File System)是Google公司为了满足公司内部的数据处理需要而设计的一套分布式文件系统 。
5.相对其它的文件系统,GPFS的主要优点有以下三点:
1)使用分布式锁管理和大数据块策略支持更大规模的集群系统,文件系统的令牌管理器为块、inode、属性和目录项建立细粒度的锁,第一个获得锁的客户将负责维护相应共享对象的一致性管理,这减少了元数据服务器的负担;
2)拥有多个元数据服务器,元数据也是分布式,使得元数据的管理不再是系统瓶颈;
3)令牌管理以字节作为锁的最小单位,也就是说除非两个请求访问的是同一文件的同一字节数据,对于数据的访问请求永远不会冲突.
分布式文件系统的系统分类 (DFS) 是AFS的一个版本,作为开放软件基金会(OSF)的分布式计算环境(DCE)中的文件系统部分 。如果文件的访问仅限于一个用户,那么分布式文件系统就很容易实现 。可惜的是 , 在许多网络环境中这种限制是不现实的,必须采取并发控制来实现文件的多用户访问 , 表现为如下几个形式:只读共享 任何客户机只能访问文件 , 而不能修改它,这实现起来很简单 。受控写操作 采用这种方法 , 可有多个用户打开一个文件,但只有一个用户进行写修改 。而该用户所作的修改并不一定出现在其它已打开此文件的用户的屏幕上 。并发写操作 这种方法允许多个用户同时读写一个文件 。但这需要操作系统作大量的监控工作以防止文件重写,并保证用户能够看到最新信息 。这种方法即使实现得很好 , 许多环境中的处理要求和网络通信量也可能使它变得不可接受 。NFS和AFS的区别NFS和AFS的区别在于对并发写操作的处理方法上 。当一个客户机向服务器请求一个文件(或数据库记录),文件被放在客户工作站的高速缓存中,若另一个用户也请求同一文件,则它也会被放入那个客户工作站的高速缓存中 。当两个客户都对文件进行修改时,从技术上而言就存在着该文件的三个版本(每个客户机一个,再加上服务器上的一个) 。有两种方法可以在这些版本之间保持同步:无状态系统 在这个系统中,服务器并不保存其客户机正在缓存的文件的信息 。因此,客户机必须协同服务器定期检查是否有其他客户改变了自己正在缓存的文件 。这种方法在大的环境中会产生额外的LAN通信开销,但对小型LAN来说,这是一种令人满意的方法 。NFS就是个无状态系统 。回呼(Callback)系统 在这种方法中,服务器记录它的那些客户机的所作所为,并保留它们正在缓存的文件信息 。服务器在一个客户机改变了一个文件时使用一种叫回叫应答(callbackpromise)的技术通知其它客户机 。这种方法减少了大量网络通信 。AFS(及OSFDCE的DFS)就是回叫系统 。客户机改变文件时 , 持有这些文件拷贝的其它客户机就被回叫并通知这些改变 。无状态操作在运行性能上有其长处,但AFS通过保证不会被回叫应答充斥也达到了这一点 。方法是在一定时间后取消回叫 。客户机检查回叫应答中的时间期限以保证回叫应答是当前有效的 。回叫应答的另一个有趣的特征是向用户保证了文件的当前有效性 。换句话说,若一个被缓存的文件有一个回叫应答,则客户机就认为文件是当前有效的,除非服务器呼叫指出服务器上的该文件已改变了 。Yonghong Z-Data MartYonghong Data Mart是一款数据存储、数据处理的软件 。Yonghong Data Mart采用基于ZDFS的分布式列存储系统 , 就是将数据分散存储在多台独立的设备上 。传统的网络存储系统采用集中的存储服务器存放所有数据 , 存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要 。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展 。Yonghong Data Mart的分布式文件存储系统 (ZDFS)是在Hadoop HDFS基础上进行的改造和扩展,将服务器集群内所有节点上存储的文件统一管理和存储 。这些节点包括唯一的一个NamingNode,在 ZDFS 内部提供元数据服务;许多MapNode,提供存储块 。存储在 ZDFS 中的文件被分成块,然后将这些块复制到多个计算机中(Map Node) 。这与传统的 RAID 架构大不相同 。块的大小和复制的块数量在创建文件时由客户机决定 。Naming Node监控存在服务器集群内所有节点上的文件操作 , 例如文件创建、删除、移动、重命名等等 。Network File System
基于linux 平台的主要分布式文件系统有哪些?常见的分布式文件系统有,GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等 。各自适用于不同的领域 。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务 。
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产品等 。
linux系统是著名的什么系统 分布式 实时常见的分布式文件系统有,GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等 。各自适用于不同的领域 。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务 。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开创其帝国的重要基石 。
linux下存储视频等文件 , 需要构建分布式文件系统,请问哪种分布式系统适合存储视频文件原先我想推荐 以前使用的商业化的quantum stornext,但是那是几年前的解决方案,也是很烧钱的方案,有些功能也不够完善
先在看来目前网络上大热的hadoop才是廉价的解决方案 , 关键概念比较新,他的理念来自于google公布的goole file system原理,我以前也只是听到这个名字,看来有机会可以多了解一下
本人目前的认识 , 对两个方案比较如下
stornext 需要硬件支持cluster,基于共享存储fc/iscsi, 可以自动备份文件到磁带,也可以自动读取存在磁带上的文件,支持居于数据块的优化存储(理论上100个用户存同一部电影,如果原始文件是同一个,即使每个版本删节掉的镜头完全不一样,最终它们共同占用的磁盘空间还是一部完整电影的空间)
hadoop dfs不需要共享存储,可以直接使用多服务器上的本地硬盘,通过冗余允许部分节点失效,扩展比较灵活,费用相对低廉,对流媒体的支持较好
linux 分布式系统都有哪些?常见的分布式文件系统有 , GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等 。各自适用于不同的领域 。它们都不是系统级的分布式文件系统 , 而是应用级的分布式文件存储服务 。
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产品等 。
linux下面有什么好的分布式存储系统?网上找找吧
系统架构 分布式 哪本书比较好Distributed Computer Systems Engineering——经典和详细的介绍了分布式系统的技术和工程实现经验 , 值得每个做分布式系统的人去看一遍,继续锤炼和提高自己的眼界和技术 。
补充三篇论文:
1. Sinfonia: A New Paradigm for Building Scalable Distributed Systems,这篇论文是SOSP2007的Best Paper , 阐述了一种构建分布式文件系统的范式方法,个人感觉非常有用 。淘宝在构建TFS、OceanBase和Tair这些系统时都充分参考了这篇论文 。
2. The Chubby lock service for loosely-coupled distributed systems , 这篇论文详细介绍了Google的分布式锁实现机制Chubby 。Chubby是一个基于文件实现的分布式锁,Google的Bigtable、Mapreduce和Spanner服务都是在这个基础上构建的,所以Chubby实际上是Google分布式事务的基础,具有非常高的参考价值 。另外 , 著名的zookeeper就是基于Chubby的开源实现,但是根据在Google工作的朋友讲,zookeeper跟Chubby在性能和功能上都还有差距 。
3. Spanner: Google's Globally-Distributed Database,这个是第一个全球意义上的分布式数据库,也是Google的作品 。其中介绍了很多一致性方面的设计考虑,为了简单的逻辑设计,还采用了原子钟,同样在分布式系统方面具有很强的借鉴意义 。
另外,还有一本书:
刚出的,读了一下样章 , 感觉还不错,一起推荐给大家——《大规模分布式存储系统:原理解析与架构实战》
分布式系统领域有哪些经典论文补充三篇论文:
1. Sinfonia: A New Paradigm for Building Scalable Distributed Systems,这篇论文是SOSP2007的Best Paper,阐述了一种构建分布式文件系统的范式方法,个人感觉非常有用 。淘宝在构建TFS、OceanBase和Tair这些系统时都充分参考了这篇论文 。
2. The Chubby lock service for loosely-coupled distributed systems , http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/zh-CN//archive/chubby-osdi06.pdf,这篇论文详细介绍了Google的分布式锁实现机制Chubby 。Chubby是一个基于文件实现的分布式锁,Google的Bigtable、Mapreduce和Spanner服务都是在这个基础上构建的,所以Chubby实际上是Google分布式事务的基础 , 具有非常高的参考价值 。另外,著名的zookeeper就是基于Chubby的开源实现,但是根据在Google工作的朋友讲,zookeeper跟Chubby在性能和功能上都还有差距 。
3. Spanner: Google's Globally-Distributed Database,这个是第一个全球意义上的分布式数据库,也是Google的作品 。其中介绍了很多一致性方面的设计考虑 , 为了简单的逻辑设计 , 还采用了原子钟,同样在分布式系统方面具有很强的借鉴意义 。
另外,还有一本书:
刚出的,读了一下样章,感觉还不错 , 一起推荐给大家——《大规模分布式存储系统:原理解析与架构实战》华章图书 - 大规模分布式存储系统:原理解析与架构实战
谷歌分布式系统用什么编程语言写的可在分布计算机系统的几台计算机上同时协调执行的程序设计方法,分布式程序设计的主要特征是分布和通信 。采用分布式程序设计方法设计程序时,一个程序由若干个可独立执行的程序模块组成 。这些程序模块分布于一个分布式计算机系统的几台计算机上同时执行 。分布在各台计算机上的程序模块是相互关联的,它们在执行中需要交换数据 , 即通信 。只有通过通信,各程序模块才能协调地完成一个共同的计算任务 。采用分布式程序设计方法解决计算问题时,必须提供用以进行分布式程序设计的语言和设计相应的分布式算法 。分布式程序设计语言与常用的各种程序设计语言的主要区别 , 在于它具有程序分布和通信的功能 。因此,分布式程序设计语言 , 往往可以由一种程序设计语言增加分布和通信的功能而构成 。分布式算法和适用于多处理器系统的并行算法,都具有并行执行的特点,但它们是有区别的 。设计分布式算法时 , 必须保证实现算法的各程序模块间不会有公共变量,它们只能通过通信来交换数据 。此外,设计分布式算法时 , 往往需要考虑坚定性 , 即当系统中几台计算机失效时 , 算法仍是有效的 。
谷歌新发布的分布式数据库服务 , 是要打破CAP定理了吗大数据领域,实时分析系统(在线查询)是最常见的一种场景,前面写了一个《 实时分析系统 (HIVE/HBASE/IMPALA) 浅析 》讨论业界当前常见的方案 。
互联网公司用得比较多是 HIVE/HBASE ,如腾讯基于 HIVE 深度定制改造!
分布式系统领域有哪些经典论文分布式领域论文译序
sql&nosql年代记
SMAQ:海量数据的存储计算和查询
一.google论文系列
1.google系列论文译序
2.The anatomy of a large-scale hypertextual Web search engine (译 zz)
3.web search for a planet :the google cluster architecture(译)
4.GFS:google文件系统 (译)
5.MapReduce: Simplied Data Processing on Large Clusters (译)
6.Bigtable: A Distributed Storage System for Structured Data (译)
7.Chubby: The Chubby lock service for loosely-coupled distributed systems (译)
8.Sawzall:Interpreting the Data--Parallel Analysis with Sawzall (译 zz)
9.Pregel: A System for Large-Scale Graph Processing (译)
10.Dremel: Interactive Analysis of WebScale Datasets(译zz)
11.Percolator: Large-scale Incremental Processing Using Distributed Transactions and Notifications(译zz)
12.MegaStore: Providing Scalable, Highly Available Storage for Interactive Services(译zz)
13.Case Study GFS: Evolution on Fast-forward (译)
14.Google File System II: Dawn of the Multiplying Master Nodes
15.Tenzing - A SQL Implementation on the MapReduce Framework (译)
16.F1-The Fault-Tolerant Distributed RDBMS Supporting Google's Ad Business
17.Elmo: Building a Globally Distributed, Highly Available Database
18.PowerDrill:Processing a Trillion Cells per Mouse Click
19.Google-Wide Profiling:A Continuous Profiling Infrastructure for Data Centers
20.Spanner: Google’s Globally-Distributed Database(译zz)
21.Dapper, a Large-Scale Distributed Systems Tracing Infrastructure(笔记)
22.Omega: flexible, scalable schedulers for large compute clusters
23.CPI2: CPU performance isolation for shared compute clusters
24.Photon: Fault-tolerant and Scalable Joining of Continuous Data Streams(译)
25.F1: A Distributed SQL Database That Scales
26.MillWheel: Fault-Tolerant Stream Processing at Internet Scale(译)
27.B4: Experience with a Globally-Deployed Software Defined WAN
28.The Datacenter as a Computer
29.Google brain-Building High-level Features Using Large Scale Unsupervised Learning
30.Mesa: Geo-Replicated, Near Real-Time, Scalable Data Warehousing(译zz)
31.Large-scale cluster management at Google with Borg
google系列论文翻译集(合集)
二.分布式理论系列
00.Appraising Two Decades of Distributed Computing Theory Research
0.分布式理论系列译序
1.A brief history of Consensus_ 2PC and Transaction Commit (译)
2.拜占庭将军问题 (译) --Leslie Lamport
3.Impossibility of distributed consensus with one faulty process (译)
4.Leases:租约机制 (译)
5.Time Clocksand the Ordering of Events in a Distributed System(译)--Leslie Lamport
6.关于Paxos的历史
7.The Part Time Parliament (译 zz) --Leslie Lamport
8.How to Build a Highly Available System Using Consensus(译)
9.Paxos Made Simple (译) --Leslie Lamport
10.Paxos Made Live - An Engineering Perspective(译)
11.2 Phase Commit(译)
12.Consensus on Transaction Commit(译) --Jim Gray & Leslie Lamport
13.Why Do Computers Stop and What Can Be Done About It?(译) --Jim Gray
14.On Designing and Deploying Internet-Scale Services(译) --James Hamilton
15.Single-Message Communication(译)
16.Implementing fault-tolerant services using the state machine approach
17.Problems, Unsolved Problems and Problems in Concurrency
18.Hints for Computer System Design
19.Self-stabilizing systems in spite of distributed control
20.Wait-Free Synchronization
21.White Paper Introduction to IEEE 1588 & Transparent Clocks
22.Unreliable Failure Detectors for Reliable Distributed Systems
23.Life beyond Distributed Transactions:an Apostate’s Opinion(译zz)
24.Distributed Snapshots: Determining Global States of a Distributed System --Leslie Lamport
25.Virtual Time and Global States of Distributed Systems
26.Timestamps in Message-Passing Systems That Preserve the Partial Ordering
27.Fundamentals of Distributed Computing:A Practical Tour of Vector Clock Systems
28.Knowledge and Common Knowledge in a Distributed Environment
29.Understanding Failures in Petascale Computers
30.Why Do Internet services fail, and What Can Be Done About It?
31.End-To-End Arguments in System Design
32.Rethinking the Design of the Internet: The End-to-End Arguments vs. the Brave New World
33.The Design Philosophy of the DARPA Internet Protocols(译zz)
34.Uniform consensus is harder than consensus
35.Paxos made code - Implementing a high throughput Atomic Broadcast
36.RAFT:In Search of an Understandable Consensus Algorithm
分布式理论系列论文翻译集(合集)
三.数据库理论系列
0.A Relational Model of Data for Large Shared Data Banks --E.F.Codd 1970
1.SEQUEL:A Structured English Query Language 1974
2.Implentation of a Structured English Query Language 1975
3.A System R: Relational Approach to Database Management 1976
4.Granularity of Locks and Degrees of Consistency in a Shared DataBase --Jim Gray 1976
5.Access Path Selection in a RDBMS 1979
6.The Transaction Concept:Virtues and Limitations --Jim Gray
7.2pc-2阶段提交:Notes on Data Base Operating Systems --Jim Gray
8.3pc-3阶段提交:NONBLOCKING COMMIT PROTOCOLS
9.MVCC:Multiversion Concurrency Control-Theory and Algorithms --1983
10.ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging-1992
11.A Comparison of the Byzantine Agreement Problem and the Transaction Commit Problem --Jim Gray
12.A Formal Model of Crash Recovery in a Distributed System - Skeen, D. Stonebraker
13.What Goes Around Comes Around - Michael Stonebraker, Joseph M. Hellerstein
14.Anatomy of a Database System -Joseph M. Hellerstein, Michael Stonebraker
15.Architecture of a Database System(译zz) -Joseph M. Hellerstein, Michael Stonebraker, James Hamilton
四.大规模存储与计算(NoSql理论系列)
0.Towards Robust Distributed Systems:Brewer's 2000 PODC key notes
1.CAP理论
2.Harvest, Yield, and Scalable Tolerant Systems
3.关于CAP
4.BASE模型:BASE an Acid Alternative
5.最终一致性
6.可扩展性设计模式
7.可伸缩性原则
8.NoSql生态系统
9.scalability-availability-stability-patterns
10.The 5 Minute Rule and the 5 Byte Rule (译)
11.The Five-Minute Rule Ten Years Later and Other Computer Storage Rules of Thumb
12.The Five-Minute Rule 20 Years Later(and How Flash Memory Changes the Rules)
13.关于MapReduce的争论
14.MapReduce:一个巨大的倒退
15.MapReduce:一个巨大的倒退(II)
16.MapReduce和并行数据库,朋友还是敌人?(zz)
17.MapReduce and Parallel DBMSs-Friends or Foes (译)
18.MapReduce:A Flexible Data Processing Tool (译)
19.A Comparision of Approaches to Large-Scale Data Analysis (译)
20.MapReduce Hold不?。?zz)
21.Beyond MapReduce:图计算概览
22.Map-Reduce-Merge: simplified relational data processing on large clusters
23.MapReduce Online
24.Graph Twiddling in a MapReduce World
25.Spark: Cluster Computing with Working Sets
26.Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing
27.Big Data Lambda Architecture
28.The 8 Requirements of Real-Time Stream Processing
29.The Log: What every software engineer should know about real-time data's unifying abstraction
30.Lessons from Giant-Scale Services
五.基本算法和数据结构
1.大数据量,海量数据处理方法总结
2.大数据量,海量数据处理方法总结(续)
3.Consistent Hashing And Random Trees
4.Merkle Trees
5.Scalable Bloom Filters
6.Introduction to Distributed Hash Tables
7.B-Trees and Relational Database Systems
8.The log-structured merge-tree (译)
9.lock free data structure
10.Data Structures for Spatial Database
11.Gossip
12.lock free algorithm
13.The Graph Traversal Pattern
六.基本系统和实践经验
1.MySQL索引背后的数据结构及算法原理
2.Dynamo: Amazon’s Highly Available Key-value Store (译zz)
3.Cassandra - A Decentralized Structured Storage System (译zz)
4.PNUTS: Yahoo!’s Hosted Data Serving Platform (译zz)
5.Yahoo!的分布式数据平台PNUTS简介及感悟(zz)
6.LevelDB:一个快速轻量级的key-value存储库(译)
7.LevelDB理论基础
8.LevelDB:实现(译)
9.LevelDB SSTable格式详解
10.LevelDB Bloom Filter实现
11.Sawzall原理与应用
12.Storm原理与实现
13.Designs, Lessons and Advice from Building Large Distributed Systems --Jeff Dean
14.Challenges in Building Large-Scale Information Retrieval Systems --Jeff Dean
15.Experiences with MapReduce, an Abstraction for Large-Scale Computation --Jeff Dean
16.Taming Service Variability,Building Worldwide Systems,and Scaling Deep Learning --Jeff Dean
17.Large-Scale Data and Computation:Challenges and Opportunitis--Jeff Dean
18.Achieving Rapid Response Times in Large Online Services --Jeff Dean
19.The Tail at Scale(译)--Jeff Dean & Luiz André Barroso
20.How To Design A Good API and Why it Matters
21.Event-Based Systems:Architect's Dream or Developer's Nightmare?
22.Autopilot: Automatic Data Center Management
七.其他辅助系统
1.The ganglia distributed monitoring system:design, implementation, and experience
2.Chukwa: A large-scale monitoring system
3.Scribe : a way to aggregate data and why not, to directly fill the HDFS?
4.Benchmarking Cloud Serving Systems with YCSB
5.Dynamo Dremel ZooKeeper Hive 简述
八.Hadoop相关
0.Hadoop Reading List
1.The Hadoop Distributed File System(译)
2.HDFS scalability:the limits to growth(译)
3.Name-node memory size estimates and optimization proposal.
4.HBase Architecture(译)
5.HFile:A Block-Indexed File Format to Store Sorted Key-Value Pairs
6.HFile V2
7.Hive - A Warehousing Solution Over a Map-Reduce Framework
8.Hive – A Petabyte Scale Data Warehouse Using Hadoop
转载请注明作者:phylips@bmy 2011-4-30
超融合产品和分布式文件系统的区别是什么?区别就是,一个是叫超融合产品
一个是叫分布式文件系统
名字已经差别很多了 , 没有一个字是相同的
分布式存储和超融合区别及优势?分布式存储是什么关于分布式存储实际上并没有一个明确的定义,甚至名称上也没有一个统一的说法,大多数情况下称作 Distributed Data Store 或者 Distributed Storage System 。其中维基百科中给 Distributed data store 的定义是:分布式存储是一种计算机网络 , 它通常以数据复制的方式将信息存储在多个节点中 。在百度百科中给出的定义是:分布式存储系统,是将数据分散存储在多台独立的设备上 。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展 。尽管各方对分布式存储的定义并不完全相同,但有一点是统一的 , 就是分布式存储将数据分散放置在多个节点中 , 节点通过网络互连提供存储服务 。这一点与传统集中式存储将数据集中放置的方式有着明显的区分 。超融合是什么参考维基百科中的超融合定义:超融合基础架构(hyper-converged infrastructure)是一个软件定义的 IT 基础架构,它可虚拟化常见“硬件定义”系统的所有元素 。HCI 包含的最小集合是:虚拟化计算(hypervisor),虚拟存储(SDS)和虚拟网络 。HCI 通常运行在标准商用服务器之上 。超融合基础架构(hyper-converged infrastructure)与 融合基础架构(converged infrastructure) 最大的区别在于,在 HCI 里面,无论是存储底层抽象还是存储网络都是在软件层面实现的(或者通过 hypervisor 层面实现) , 而不是基于物理硬件实现的 。由于所有软件定义的元素都围绕 hypervisor 实现,因此在超融合基础架构上的所有实例可以联合共享所有受管理的资源 。分布式存储和超融合区别及优势?分布式存储 , 它的最大特点是多节点部署,数据通过网络分散放置 。分布式存储的特点是扩展性强,通过多节点平衡负载,提高存储系统的可靠性与可用性 。超融合基础架构从定义中明确提出包含软件定义存储(SDS),具备硬件解耦的能力,可运行在通用服务器之上 。超融合基础架构与 Server SAN 提倡的理念类似,计算与存储融合,通过全分布式的架构 , 有效提升系统可靠性与可用性 , 并具备易于扩展的特性 。SMTX OS 产品架构由于很多读者对超融合构成还比较混淆,以下以 SmartX 的超融合软件 SMTX OS 为例说明分布式存储和其他模块的关系 。其中分布式块存储,SMTX ZBS 是SMTX OS超融合软件最核心的组件 。它采用全分布式架构并且是完全符合软件定义理念的 。SMTX ZBS 分布式块存储架构除此之外,超融合基础架构有更进一步的扩展,它强调以虚拟化计算(hypervisor)为核心,以软件定义的方式整合包括虚拟化计算, 软件定义存储以及虚拟网络资源 。从笔者来看超融合基础架构未来的可能性更多,可促进计算,存储,网络,安全,容灾等等 IT 服务大融合 , 降低IT 基础架构的复杂性 , 重新塑造”软件定义的数据中心” 。
超融合产品Nutanix和VMware vsan等类似的分布式存储产品有什么区别核心软件不同,产品性能也不同,主要优势也不同,在目前超融合领域,神州云科YKCLOUD超融合用的是SCALE IO的软件,性能较好
超融合和经常提到的分布式存储有什么关联?首先你必须了解什么是超融合?超融合基础架构(Hyper-Converged Infrastructure , 或简称“HCI”)也被称为超融合架构 , 是指在同一套单元设备(x86服务器)中不仅仅具备计算、网络、存储和服务器虚拟化等资源和技术,而且还包括缓存加速、重复数据删除、在线数据压缩、备份软件、快照技术等元素,而多节点可以通过网络聚合起来,实现模块化的无缝横向扩展(scale-out),形成统一的资源池 。其次你必须了解什么是分布式存储关于分布式存储实际上并没有一个明确的定义,甚至名称上也没有一个统一的说法,大多数情况下称作 Distributed Data Store 或者 Distributed Storage System 。其中维基百科中给 Distributed data store 的定义是:分布式存储是一种计算机网络,它通常以数据复制的方式将信息存储在多个节点中 。在百度百科中给出的定义是:分布式存储系统,是将数据分散存储在多台独立的设备上 。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展 。尽管各方对分布式存储的定义并不完全相同,但有一点是统一的 , 就是分布式存储将数据分散放置在多个节点中 , 节点通过网络互连提供存储服务 。这一点与传统集中式存储将数据集中放置的方式有着明显的区分 。区别与联系超融合基础架构从定义中明确提出包含软件定义存储(SDS),具备硬件解耦的能力,可运行在通用服务器之上 。超融合基础架构与 Server SAN 提倡的理念类似,计算与存储融合,通过全分布式的架构,有效提升系统可靠性与可用性,并具备易于扩展的特性 。由于很多读者对超融合构成还比较混淆,以下以 SmartX 的超融合软件 SMTX OS 为例说明分布式存储和其他模块的关系 。其中分布式块存储,SMTX ZBS 是SMTX OS超融合软件最核心的组件 。它采用全分布式架构并且是完全符合软件定义理念的 。
谷歌的分布式文件系统的优缺点?Google File System 文件系统
为了满足Google迅速增长的数据处理需求,Google设计并实现了Google文件系统(GFS,Google File System) 。GFS与过去的分布式文件系统拥有许多相同的目标,例如性能、可伸缩性、可靠性以及可用性 。然而,它的设计还受到Google应用负载和技术环境的影响 。主要体现在以下四个方面:
1. 集群中的节点失效是一种常态 , 而不是一种异常 。由于参与运算与处理的节点数目非常庞大,通常会使用上千个节点进行共同计算,因此 , 每时每刻总会有节点处在失效状态 。需要通过软件程序模块 , 监视系统的动态运行状况,侦测错误 , 并且将容错以及自动恢复系统集成在系统中 。
2. Google系统中的文件大小与通常文件系统中的文件大小概念不一样,文件大小通常以G字节计 。另外文件系统中的文件含义与通常文件不同,一个大文件可能包含大量数目的通常意义上的小文件 。所以 , 设计预期和参数,例如I/O操作和块尺寸都要重新考虑 。
3. Google文件系统中的文件读写模式和传统的文件系统不同 。在Google应用(如搜索)中对大部分文件的修改,不是覆盖原有数据,而是在文件尾追加新数据 。对文件的随机写是几乎不存在的 。对于这类巨大文件的访问模式,客户端对数据块缓存失去了意义 , 追加操作成为性能优化和原子性(把一个事务看做是一个程序 。它要么被完整地执行,要么完全不执行)保证的焦点 。
4. 文件系统的某些具体操作不再透明,而且需要应用程序的协助完成 , 应用程序和文件系统API的协同设计提高了整个系统的灵活性 。例如,放松了对GFS一致性模型的要求 , 这样不用加重应用程序的负担 , 就大大简化了文件系统的设计 。还引入了原子性的追加操作,这样多个客户端同时进行追加的时候,就不需要额外的同步操作了 。
总之,GFS是为Google应用程序本身而设计的 。据称,Google已经部署了许多GFS集群 。有的集群拥有超过1000个存储节点 , 超过300T的硬盘空间,被不同机器上的数百个客户端连续不断地频繁访问着 。
分布式文件系统hdfs主要由哪些功能模块构成Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统 。它和现有的分布式文件系统有很多共同点 。但同时,它和其他的分布式文件系统的区别也是很明显的 。HDFS是一个高度容错性的系统,适合部署在廉价的机器上 。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用 。HDFS放宽了一部分POSIX约束 , 来实现流式读取文件系统数据的目的 。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的 。HDFS是Apache Hadoop Core项目的一部分 。
Hadoop分布式文件系统架构
1 NameNode(名称节点)
HDFS命名空间采用层次化(树状——译者注)的结构存放文件和目录 。
2 映像和日志
Inode和定义metadata的系统文件块列表统称为Image(映像).NameNode将整个命名空间映像保存在RAM中 。而映像的持久化记录则保存在NameNode的本地文件系统中,该持久化记录被称为Checkpoint(检查点) 。NameNode还会记录HDFS中写入的操作,并将其存入一个记录文件,存放在本地文件系统中,这个记录文件被叫做Journal(日志) 。
3 数据节点
DataNode上的每一个块(block)副本都由两个本地文件系统上的文件共同表示 。其中一个文件包含了块(block)本身所需包含的数据,另一个文件则记录了该块的元数据,包括块所含数据大小和文件生成时间戳 。数据文件的大小等于该块(block)的真实大?。皇窍翊车奈募低骋谎?nbsp;, 需要用额外的存储空间凑成完整的块 。因此,如果一个块里只需要一半的空间存储数据,那么就只需要在本地系统上分配半块的存储空间即可 。
4 HDFS客户端
用户应用程序通过HDFS客户端连接到HDFS文件系统,通过库文件可导出HDFS文件系统的接口 。像很多传统的文件系统一样,HDFS支持文件的读、写和删除操作 , 还支持对目录的创建和删除操作 。与传统的文件系统不同的是 , HDFS提供一个API用以暴露文件块的位置 。这个功能允许应用程序 。
5 检查点节点
HDFS中的NameNode节点 , 除了其主要职责是相应客户端请求以外 , 还能够有选择地扮演一到两个其他的角色,例如做检查点节点或者备份节点 。该角色是在节点启动的时候特有的 。
6 备份节点
HDFS的备份节点是最近在加入系统的一项特色功能 。就像CheckpintNode一样,备份节点能够定期创建检查点,但是不同的是 , 备份节点一直保存在内存中,随着文件系统命名空间的映像更新和不断更新,并与NameNode的状态随时保持同步 。
7 系统更新和文件系统快照
在软件更新的过程中,由于软件的bug或者人为操作的失误 , 文件系统损坏的几率会随之提升 。在HDFS中创建系统快照的目的,就在于把系统升级过程中可能对数据造成的隐患降到最低 。快照机制让系统管理员将当前系统状态持久化到文件系统中,这样以来 , 如果系统升级后出现了数据丢失或者损坏,便有机会进行回滚操作,将HDFS的命名空间和存储状态恢复到系统快照进行的时刻 。
分布式文件系统 ipfs性能怎么样这个是IPFS应用生态图 。各行业各都在布局IPFS了 。• IPFS是协议 定义了基于内容寻址的文件传输协议 , 并结合了来自Kademlia、BitTorrent、 Git等想法来协调内容传输 。在这个网络协议下,访问文件或数据的依据,是一 串串与文件匹配的唯一的哈希值 。• IPFS是文件系统 有文件夹、文件和基于FUSE的可挂载文件系统 。虽然在此协议下检索文件是依 据哈希值而非IP,但具体文件依然存储在以树状层级文件夹系统为基础的文件 系统 。• IPFS是互联网 文件可以通过HTTP网关来访问,例如https://ipfs.io; 浏览器通过扩展插件或直接使用区块链浏览器来使用ipfs://域; 哈希寻址保证了内容的真实性 。• IPFS是P2P(点对点通讯) 支持世界范围点对点文件传输,具有完全分散的架构 , 没有中心点故障 。掠过 所有中间节点的端对端直达传输 。• IPFS是CDN 在本地库中添加一个文件,立即对世界可用,并拥有对缓存友好的内容哈希地 址和BitTorrent一样的带宽分发 。访问此网络下的文件就像访问本地文件一样迅 速方便 。• IPFS是云服务 基于分布式存储结构,集合全节点存储能力,以供存储检索需求 。
磁盘阵列 和 分布式文件系统有什么区别?。棵媸缘氖焙蛴幸桓隹脊傥剩合衷诖排陶罅械男誓敲锤?/h3>1、磁盘阵列(Redundant Arrays of Inexpensive Disks,RAID),有“价格便宜且多余的磁盘阵列”之意 。原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性 。磁盘阵列是由很多便宜、容量较小、稳定性较高、速度较慢磁盘 , 组合成一个大型的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能 。同时利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上 。磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任一颗硬盘故障时,仍可读出数据 , 在数据重构时 , 将数据经计算后重新置入新硬盘中 。
2、分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连 。分布式文件系统的设计基于客户机/服务器模式 。一个典型的网络可能包括多个供多用户访问的服务器 。另外,对等特性允许一些系统扮演客户机和服务器的双重角色 。例如,用户可以“发表”一个允许其他客户机访问的目录,一旦被访问,这个目录对客户机来说就象使用本地驱动器一样,下面是三个基本的分布式文件系统 。使用分布式文件系统可以轻松定位和管理网络中的共享资源、使用统一的命名路径完成对所需资源院的访问、提供可靠的负载平衡、与FRS(文件复制服务)联合在多台服务器之间提供冗余、与windows权限集成以保证安全 。
3、综上所述 , 磁盘阵列主要是以冗余备份来保障文件安全和快速访问,一般以本机不同磁盘或局域网内磁盘组成 , 而分布式文件系统将广泛分布在本机、局域网和广域网上各个不同物理存储空间的数据以一定逻辑形式组成的文件系统,提供的服务更多的是起到索引(指向)的作用,而又不必耗费很大的部署资源,顺应了云计算的发展方向 。
分布式集群存储和磁盘阵列柜存储哪种好各有各的好处,磁盘阵列使用维护方便,分布式集群可以利用分布的机器计算能力
分布式文件系统使用磁盘阵列做存储,会不会出现冗余过剩看你为采用分布式的意愿有多强烈了 。
冗余是必须的,因为这本来就是以空间换时间的问题,就像你不能问买3.8排量的四驱SUV , 会不会比1.6T的家轿更费油 。
分布式存储需要做磁盘阵列吗?云存储呢?感觉概念需要澄清一下:
1、与分布式存储向对应的概念是集中式存储 。这两个概念用于描述用户数据存储状态 。
2、简单地,可以将磁盘阵列理解为向计算机提供高性能、高可靠性、大容量存储空间的存储系统 。分布式存储与集中式存储均可使用磁盘阵列作为计算机存储数据的专用设备 。
3、云存储旨在整合用户IT设备为用户提供更强大、更丰富的增值功能的存储系统,较传统磁盘阵列而言 , 云存储概念更先进,但目前业界对云存储的定义还存在争议并为形成标准 , 属于技术预研领域 。目前在云存储方面势头强劲的主要有:EMC、SUN、Symantec、HuaweiSymantec等专业存储厂商 。