如何区分分布式集群并行文件系统?

如何区分分布式集群并行文件系统?,第1张

分布式文件系统、集群文件系统、并行文件系统,这三种概念很容易混淆,实际中大家也经常不加区分地使用。总是有人问起这三者的区别和联系,其实它们之间在概念上的确有交叉重叠的地方,但是也存在显著不同之处。 

分布式文件系统

自然地,“分布式”是重点,它是相对与本地文件系统而言的。分布式文件系统通常指C/S架构或网络文件系统,用户数据没有直接连接到本地主机,而是存储在远程存储服务器上。NFS/CIFS是最为常见的分布式文件系统,这就是我们说的NAS系统。分布式文件系统中,存储服务器的节点数可能是1个(如传统NAS),也可以有多个(如集群NAS)。对于单个节点的分布式文件系统来说,存在单点故障和性能瓶颈问题。除了NAS以外,典型的分布式文件系统还有AFS,以及下面将要介绍的集群文件系统(如Lustre, GlusterFS, PVFS2等)。 

集群文件系统

“集群”主要分为高性能集群HPC(High Performance Cluster)、高可用集群HAC(High Availablity Cluster)和负载均衡集群LBC(Load Balancing Cluster)。集群文件系统是指协同多个节点提供高性能、高可用或负载均衡的文件系统,它是分布式文件系统的一个子集,消除了单点故障和性能瓶问题。对于客户端来说集群是透明的,它看到是一个单一的全局命名空间,用户文件访问请求被分散到所有集群上进行处理。此外,可扩展性(包括Scale-Up和Scale-Out)、可靠性、易管理等也是集群文件系统追求的目标。在元数据管理方面,可以采用专用的服务器,也可以采用服务器集群,或者采用完全对等分布的无专用元数据服务器架构。目前典型的集群文件系统有SONAS, ISILON, IBRIX, NetAPP-GX, Lustre, PVFS2, GlusterFS, Google File System, LoongStore, CZSS等。 

并行文件系统

这种文件系统能够支持并行应用,比如MPI。在并行文件系统环境下,所有客户端可以在同一时间并发读写同一个文件。并发读,大部分文件系统都能够实现。并发写实现起来要复杂许多,既要保证数据一致性,又要最大限度提高并行性,因此在锁机制方面需要特别设计,如细粒度的字节锁。通常SAN共享文件系统都是并行文件系统,如GPFS、StorNext、GFS、BWFS,集群文件系统大多也是并行文件系统,如Lustre, Panasas等。

如何区分?

区分这三者的重点是“分布式”、“集群”、“并行”三个前缀关键字。简单来说,非本地直连的、通过网络连接的,这种为分布式文件系统;分布式文件系统中,服务器节点由多个组成的,这种为集群文件系统;支持并行应用(如MPI)的,这种为并行文件系统。在上面所举的例子中也可以看出,这三个概念之间具有重叠之处,比如Lustre,它既是分布式文件系统,也是集群和并行文件系统。但是,它们也有不同之处。集群文件系统是分布式文件系统,但反之则不成立,比如NAS、AFS。SAN文件系统是并行文件系统,但可能不是集群文件系统,如StorNext。GFS、HDFS之类,它们是集群文件系统,但可能不是并行文件系统。实际中,三者概念搞理清后,分析清楚文件系统的特征,应该还是容易正确地为其划分类别的。

数据库与hadoop与分布式文件系统的区别和联系

1. 用向外扩展代替向上扩展

扩展商用关系型数据库的代价是非常昂贵的。它们的设计更容易向上扩展。要运行一个更大

的数据库,就需要买一个更大的机器。事实上,往往会看到服务器厂商在市场上将其昂贵的高端机

标称为“数据库级的服务器”。不过有时可能需要处理更大的数据集,却找不到一个足够大的机器。

更重要的是,高端的机器对于许多应用并不经济。例如,性能4倍于标准PC的机器,其成本将大大

超过将同样的4台PC放在一个集群中。Hadoop的设计就是为了能够在商用PC集群上实现向外扩展

的架构。添加更多的资源,对于Hadoop集群就是增加更多的机器。一个Hadoop集群的标配是十至

数百台计算机。事实上,如果不是为了开发目的,没有理由在单个服务器上运行Hadoop。

2. 用键/值对代替关系表

关系数据库的一个基本原则是让数据按某种模式存放在具有关系型数据结构的表中。虽然关

系模型具有大量形式化的属性,但是许多当前的应用所处理的数据类型并不能很好地适合这个模

型。文本、图片和XML文件是最典型的例子。此外,大型数据集往往是非结构化或半结构化的。

Hadoop使用键/值对作为基本数据单元,可足够灵活地处理较少结构化的数据类型。在hadoop中,

数据的来源可以有任何形式,但最终会转化为键/值对以供处理。

3. 用函数式编程(MapReduce)代替声明式查询(SQL )

SQL 从根本上说是一个高级声明式语言。查询数据的手段是,声明想要的查询结果并让数据库引擎

判定如何获取数据。在MapReduce中,实际的数据处理步骤是由你指定的,它很类似于SQL

引擎的一个执行计划。SQL 使用查询语句,而MapReduce则使用脚本和代码。利用MapReduce可

以用比SQL 查询更为一般化的数据处理方式。例如,你可以建立复杂的数据统计模型,或者改变

图像数据的格式。而SQL 就不能很好地适应这些任务。

4.

分布式文件系统(dfs)和分布式数据库都支持存入,取出和删除。但是分布式文件系统比较暴力,

可以当做key/value的存取。分布式数据库涉及精炼的数据,传统的分布式关系型数据库会定义数据元

组的schema,存入取出删除的粒度较小。

分布式文件系统现在比较出名的有GFS(未开源),HDFS(Hadoop distributed file system)。

分布式数据库现在出名的有Hbase,oceanbase。其中Hbase是基于HDFS,而oceanbase是自己内部

实现的分布式文件系统,在此也可以说分布式数据库以分布式文件系统做基础存储。

共享文件与分布式文件系统的区别

分布式文件系统(Distributed File System,DFS)

如果局域网中有多台服务器,并且共享文件夹也分布在不同的服务器上,这就不利于管理员的管理和用户的访问。而使用分布式文件系统,系统管理员就可以把不同服务器上的共享文件夹组织在一起,构建成一个目录树。这在用户看来,所有共享文件仅存储在一个地点,只需访问一个共享的DFS根目录,就能够访问分布在网络上的文件或文件夹,而不必知道这些文件的实际物理位置。

ftp server和分布式文件系统的区别

换个思路,使用mount --bind把目录加载过来就可以了 先将数据盘挂载 mount /dev/sdb1 /mnt/d 在ftp目录下建一个文件夹data mount --bind /mnt/d data

FTP server和分布式文件系统的区别, 分布式文件系统和分布式数据库有什么不同

分布式文件系统(dfs)和分布式数据库都支持存入,取出和删除。但是分布式文件系统比较暴力,可以当做key/value的存取。分布式数据库涉及精炼的数据,传统的分布式关系型数据库会定义数据元组的schema,存入取出删除的粒度较小。

分布式文件系统现在比较出名的有GFS(未开源),HDFS(Hadoop distributed file system)。分布式数据库现在出名的有Hbase,oceanbase。其中Hbase是基于HDFS,而oceanbase是自己内部实现的分布式文件系统,在此也可以说分布式数据库以分布式文件系统做基础存储。

hadoop是分布式文件系统吗

是的

Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。要理解HDFS的内部工作原理,首先要理解什么是分布式文件系统。

1.分布式文件系统

多台计算机联网协同工作(有时也称为一个集群)就像单台系统一样解决某种问题,这样的系统我们称之为分布式系统。

分布式文件系统是分布式系统的一个子集,它们解决的问题就是数据存储。换句话说,它们是横跨在多台计算机上的存储系统。存储在分布式文件系统上的数据自动分布在不同的节点上。

分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理来自网络和其它地方的超大规模数据提供所需的扩展能力。

2.分离元数据和数据:NameNode和DataNode

存储到文件系统中的每个文件都有相关联的元数据。元数据包括了文件名、i节点(inode)数、数据块位置等,而数据则是文件的实际内容。

在传统的文件系统里,因为文件系统不会跨越多台机器,元数据和数据存储在同一台机器上。

为了构建一个分布式文件系统,让客户端在这种系统中使用简单,并且不需要知道其他客户端的活动,那幺元数据需要在客户端以外维护。HDFS的设计理念是拿出一台或多台机器来保存元数据,并让剩下的机器来保存文件的内容。

NameNode和DataNode是HDFS的两个主要组件。其中,元数据存储在NameNode上,而数据存储在DataNode的集群上。NameNode不仅要管理存储在HDFS上内容的元数据,而且要记录一些事情,比如哪些节点是集群的一部分,某个文件有几份副本等。它还要决定当集群的节点宕机或者数据副本丢失的时候系统需要做什么。

存储在HDFS上的每份数据片有多份副本(replica)保存在不同的服务器上。在本质上,NameNode是HDFS的Master(主服务器),DataNode是Slave(从服务器)。

文件系统与数据库系统的区别和联系

其区别在于:

(1)

文件系统用文件将数据长期保存在外存上,数

据库系统用数据库统一存储数据。

(2)

文件系统中的程序和数据有一

定的联系,数据库系统中的程序和数据分离。

(3)

文件系统用 *** 作系

统中的存取方法对数据进行管理,数据库系统用

DBMS

统一管理和控

制数据。

(4)

文件系统实现以文件为单位的数据共享,数据库系统实

现以记录和字段为单位的数据共享。

其联系在于:

(1)

均为数据组织的管理技术。

(2)

均由数据管理软

件管理数据,程序与数据之间用存取方法进行转换。

(3)

数据库系统

是在文件系统的基础上发展而来的。

数据库系统和文件系统的区别与联系

文件系统和数据库系统之间的区别:

(1) 文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据;

(2) 文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离;

(3) 文件系统用 *** 作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据;

(4) 文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。

文件系统和数据库系统之间的联系:

(1) 均为数据组织的管理技术;

(2) 均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;

(3) 数据库系统是在文件系统的基础上发展而来的。

什么是Hadoop分布式文件系统

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

Hadoop是Apache软件基金会所研发的开放源码并行运算编程工具和分散式档案系统,与MapReduce和Google档案系统的概念类似。

HDFS(Hadoop 分布式文件系统)是其中的一部分。

主流的3种分布式存储文件系统存储架构分两种,一种是传统存储阵列架构,另一种就是分布式存储架构。

一、当前市场上,比较主流的3种分布式存储文件系统,分别有AFS、GFS、Lustre。它们基本都有一个共通点——全局名字空间、缓存一致性、安全性、可用性和可扩展性。

二、3种分布式存储文件系统的各自特点 1.AFS 由卡内基美隆大学最初设计开发的AFS,目前已经相当成熟,用于研究和部分大型网络中。AFS是AndrewFileSystem的简称,它的主要组建包括Cells、AFSclients、基本存储单元Volumes、AFSservers和Volumereplication。 拥有良好可扩展性的AFS,能够为客户端带来性能的提升和可用性的提高。AFS将文件系统的可扩展性放在了设计和实践的首要位置,因此AFS拥有很好的扩展性,能够轻松支持数百个节点,甚至数千个节点的分布式环境。它实现的是模块化的,所以并不要求在每台服务器上运行所有服务器进程。 但值得一提的是,AFS的缺点在于管理员界面友好性不足,需要更多的专业知识来支持。

2.GFS 被称为文件系统的GFS(GoogleFileSystem),是用以实现非结构化数据的主要技术和文件系统。它的性能、可扩展性、可靠性和可用性都受到了肯定。它主要运行在大量运行Linux系统的普通机器上,能大大降低它的硬件成本。 文件的大小,一直是文件系统要考虑的问题。对于任何一种文件系统,成千上万的几KB的系统很容易压死内存。所以,对于大型的文件,管理要高效,对于小型的文件,也需要支持,但是并没有进行优化。在GFS中,chunkserver的大小被固定为64MB,这样的块规模比一般的文件系统的块规模要大得多,可以减少元数据metadata的开销,减少Master的交互。但是,太大的块规模也会产生内部碎片,或者同一个chunk中存在多个小文件可能会产生访问热点。 3.QKFile qkf是qkfile项目的燃料,qkfile项目是一个全球性的公共分布式文件系统,可以给网盘、云存储、短视频、图片、cdn等领域提供可靠的文件存储分发服务。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11694349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存