IBM GPFS可以替代HDFS作为Hadoop架构的底层文件系统/数据存储。Hadoop主要是能够做DAS直连存储,(位于各个节点上的)硬盘是分布式的,数据会拷贝 3-4份进行保护。Hadoop不需要高端的产品,不用共享存储,老带而是用分布式存储,它的成本相比共享存储(比如DS8000)要低。
GPFS的可扩展性上还是最好的,要把二者的优点结合起来,在基础上还是用直连的方式。GPFS与Hadoop的结合是一种分布式文件系统的形式,专门针对大数据分析的应用。作为集群NAS产品的IBM SONAS则具备更多的适应性,主要面向高性能计算、海量媒体(音/视频)数据的存储。
GPFS-SNC是IBM为Hadoop分析计算环境扩展研发的产品。A key difference between GPFS-SNC and HDFS is that GPFS-SNC is a kernel-level (内核级)file system, whereas HDFS runs on top of the operating system. This means that GPFS-SNC offers several advantages over HDFS, including:Better performance,Storage flexibility,Concurrent read/write,Improved security。
GFPS-SNC 提供了 HDFS所不具备的许多优点,其中一个优点解决了上述 NameNode 问题。在 GPFSSNC内实施的 Hadoop 运行时,不一定要与这个特别的 SPOF 问题进行竞争。GPFS-SNC 使您能够建立一个更加可靠的 Hadoop 集群(其中还包括其他好处,如易于管理和性能)。
除了所提出的有关单一 NameNode 的问题之外,一些客户还指出,HDFS不是 Portable Operating System Interface for UNIX (POSIX) 兼容的文件系统。拆含袜这意味着,几乎所有您在与文件进行交互时可能使用的熟悉命令(复制文件、删除文件、写入文件、移动文件等)都以不同形式在 HDFS 中可用(有旅激语法差异,在某些情况下有功能限制)。为了解决这个问题,您必须编写自己的 Java 应用程序执行某些功能,或培训您的 IT 员工,学习不同HDFS 命令来管理和 *** 作文件系统的文件。
"数据是以二进制的方式存储在介质中的,但是我们并不能直接理解这些高低电平的数据代表什么意思,而文件系统就是告诉我们这些二进制的数据要表达的意思。"看着依然紧皱眉头的蛋蛋并不像捣乱的样子,技术大拿打开了自己的电脑。
这些文件大家都见过吧,这些文件是怎么出现的?这就靠文件系统来实现的。文件系统将二进制的数据按照人类可理解的架构来解析出来,我们可以通过这个系统来管理、删除和复制这些文件,从而来控制存储里面的数据。
那么文件系统是什么价值?蛋蛋继续追问到。
▉ 文件系统的价值是什么?
文件系统是管理磁盘的软件系统,能够简化用户对磁盘空间的使用,降低使用难度,让用户可以更加形唤羡象的方式将磁盘中的数据供给我们使用。
打个比方,存储的磁盘就相当于我们的仓库。如下图所示,这是一个很大的空仓库,这就相当于一个没有格式化的磁盘,空间很大,让我们来存储数据使用。
虽然我们可以直接将数据存储到磁盘的空间,但是由于缺少规划,我们数据可能就会毫无规律的存放在磁盘上。不但放的数据比较少,而且当我们想查找的时候也会非常费劲,甚至找不到需要的数据。
因此,文件系统出现了。一方面将数据进行统一管理,另一方面让我们用户能够更好的查到数据。
就好比我们仓库中的货架,我们可以将货物进行统一的规划和管理,这样我们就能按照编号快速的找到我们需要的数据,不仅存放的数据多,而且查找起来也更方便。
文件系统就相当于管理货物的货架和人的集合,让我们不再为存储数据担心,方便我们管理和查找数据。
看着眉头舒展开的蛋蛋,技术大拿知道可以接下往下进行了。
▉ 本地文件系统和网络文件系统
文件系统早期是本地 *** 作系统管理存储设备的一种方式,早期的管理需求大多基于本地的文件管理,比如Ext4 、XFS、FAT32和Btrfs等文件系统,这些文件系统之后能提供本地磁盘格式化并使用。
但是随着传输技术的发展,人们开始有了新的需求,不止限于本地文件的传输I/O技术,人们也开始对远程数据传输有了需求,人们希望通过TCP/IP方式获取数据,就相当于增加了一种可以远距离传输的I/O技术,例如我们的文件共享需求。
目前主流的接入协议有NFS协议为代表的Linux阵营和以CIFS/SMB协议为代表的Windows产品阵营。不过随着技术的发展,基本上可以通用了。
支持远程访问的文件系统解决了资源共享的问题,但是这些文件系统虽然能够支持多个客户端访问,但是毕竟是单机,处理能力有限,因大规模的数据访问领域,例如电商网站,大数据处理,采用NFS这种访问方式就无法满足需求。
于是,为了可以让多台机器上的多用户通过网络分享文件和存储空间,于是就出现了分布式文件系统,该文件系统的服务端通过一个集群来实现,客户端可以并发的访问该集群的多达数万个节点,因此承载能力得到极大的提升。
对应上面的仓库比喻,我们可以简单理解为:在仓库的初期,管理更多的是基于本地的需求,这个时候采用的文件系统是Ext4、XFS、FAT32和Btrfs等,这些系统只支持本地访问。
但是随着传输技术的发展,人们希望通过网络来访问这个存储仓库,于是NFS、CIFS/SMB开始出现。但是这些文件系统在的支持远程访问的个数有限,于是就出现了分布式文件存储。
本地文件系统、网络文件系统和分布式分拣系统这几种文件系统没有本质的差别。只是网络连接的可靠性复杂性等因素,相对于本地总线而言,分布式文件系统接入的存储设备,需要应用层做更多复杂的策略来配合达到相同的效果。
▉ 主流分布式文件系统
随着数字化转型的深入,海量数据对存储系统提出了新的要求早链虚,市场上出现了多种分布式存文件系统。如HDFS、Ceph、GFS、GPFS、Swift等。在实际工作中,为了更好地引入分布式文件系统,我们需了解各种文件系统的特点,以及各种技术的适用场景,下面分别介绍:
中间控制节点架构(HDFS)
HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。
HDFS是Hadoop大数据架构中的存储组件。在开始设计的时候,HDFS就已经明确的它的应用场景,就是为大数据服务。主要的应用场景有:
1、对大文件存储的性能比较高,例如几百兆,几个G的大文件;
2、适合低写入,多次读取的业务;
3、HDFS采用多副本数据保护机制,使用陆燃普通的X86服务器就可以保障数据的可靠性,不推荐在虚拟化环境中使用;
图 HDFS简化架构图示意图
完全无中心架构---计算模式(Ceph)
Ceph是一个开源的存储项目,是目前应用最广泛的开源分布式存储系统,已得到众多厂商的支持,许多超融合系统的分布式存储都是基于Ceph深度定制。而且Ceph已经成为Linux系统和OpenStack的"标配",用于支持各自的存储系统。
图 Ceph简化架构图示意图
Ceph可以提供对象存储、块设备存储和文件系统存储服务。同时支持三种不同类型的存储服务的特性,在分布式存储系统中,是很少见的。
Ceph没有采用HDFS的元数据寻址的方案,而且采用CRUSH算法,数据分布均衡,并行度高。而且在支持块存储特性上,数据可以具有强一致性,可以获得传统集中式存储的使用体验。
但是目前Ceph支持文件的性能相比其他分布式存储系统,部署稍显复杂,性能也稍弱,一般都将Ceph应用于块和对象存储。
Ceph是去中心化的分布式解决方案,需要提前做好规划设计,对技术团队的能力要求比较高。
完全无中心架构---一致性哈希(Swift)
Swift最初是由 Rackspace 公司开发的高可用分布式对象存储服务,并于 2010 年贡献给 OpenStack 开源社区作为其最初的核心子项目之一,为其 Nova 子项目提供虚机镜像存储服务。
Swift 构筑在比较便宜的标准硬件存储基础设施之上,无需采用 RAID(磁盘冗余阵列),通过在软件层面引入一致性散列技术和数据冗余性,牺牲一定程度的数据一致性来达到高可用性和可伸缩性,支持多租户模式、容器和对象读写 *** 作,适合解决互联网的应用场景下非结构化数据存储问题。
图 Swift简化架构图示意图
Swift和Ceph提供的对象存储服务类似。Swift主要用于解决非结构化数据存储问。它和Ceph的对象存储服务的主要区别是:
1、客户端在访问对象存储系统服务时,Swift要求客户端必须访问Swift网关才能获得数据。而Ceph使用一个运行在每个存储节点上的OSD(对象存储设备)获取数据信息,没有一个单独的入口点,比Swift更灵活一些;
2、在数据一致性方面,Swift的数据是最终一致,在海量数据的处理效率上要高一些,但是主要面向对数据一致性要求不高,但是对数据处理效率要求比较高的对象存储业务。而Ceph是始终跨集群强一致性。主要的应用场景,在在OpenStack中,对象存储服务使用的就是Swift,而不是Ceph;
除了上述HDFS、CEPH和Swift等分布式文件系统外,还有GlusterFS、CephFS等很多分布式文件系统,不同的文件系统解决的问题是不同的,因此应用场景也是有很大差异的。因此,大家在工作中如果选型时,也需要考虑这些差异。每种分布式文件系统的细节又有所差异,这个也是与它们所要解决的具体问题相关的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)