大数据开发:分布式文件存储系统简介

大数据开发:分布式文件存储系统简介在分布式存储技术体系当中,分布式文件存储是其中的分类之一,也是大数据架构当中常常用到的。得益于Hadoop的高人气,Hadoop原生的HDFS分布式文件系统,也广泛为人所知。但是分布式文件存储系统,并非只有HDFS。今天的大数据开发分享,我们就主要来讲讲常见的分布式文件存储系统。分布式文件系统,可以说是分布式系统下的一个子集,这里我们选取市场应用比较广泛的几款产品,HDFS、Ceph、FastDFS以及MooseFS来做简单的分析——HDFS如上所说,HDFS是分布式文件系统当中人气非常

大家好,又见面了,我是你们的朋友全栈君。

在分布式存储技术体系当中,分布式文件存储是其中的分类之一,也是大数据架构当中常常用到的。得益于Hadoop的高人气,Hadoop原生的HDFS分布式文件系统,也广泛为人所知。但是分布式文件存储系统,并非只有HDFS。今天的大数据开发分享,我们就主要来讲讲常见的分布式文件存储系统。

大数据开发:分布式文件存储系统简介

分布式文件系统,可以说是分布式系统下的一个子集,这里我们选取市场应用比较广泛的几款产品,HDFS、Ceph、FastDFS以及MooseFS来做简单的分析——

大数据开发:分布式文件存储系统简介

HDFS

如上所说,HDFS是分布式文件系统当中人气非常高的一个。基于Hadoop基础架构,HDFS天然就有很好的优势,尤其是面对大规模离线批处理任务,地位难以撼动。

HDFS,可以为各类分布式计算框架如Spark、MapReduce等提供海量数据存储服务,同时HBase、Hive底层存储也依赖于HDFS。与Hadoop生态的紧密联系,也使其稳稳占据市场主流地位。

优点:

高容错性:数据自动保存多个副本,副本丢失后,自动恢复

适合批处理:移动计算而非数据。数据位置暴露给计算框架

适合大数据处理:GB,TB,甚至PB级数据。百万规模以上文件数量。10K+节点规模。

流式文件访问:一次性写入,多次读取。保证数据一致性。

可构建在廉价机器上:通过多副本提高可靠性。提供容错和恢复机制。

缺点:

不适合低延迟数据访问场景:比如毫秒级,低延迟与高吞吐率

不适合小文件存取场景:占用NameNode大量内存。寻道时间超过读取时间。

不适合并发写入,文件随机修改场景:一个文件只能有一个写者。仅支持append

不符合posix语义,需要通过SDK来读写操作。对java支持良好,其他语言一般

Ceph

企业级的存储需求,通常分为块存储、文件存储和对象存储,而Ceph能够同时满足这三种需求。Ceph提供三大存储接口,能够将企业中的三种存储需求统一汇总到一个存储系统中,并提供分布式、横向扩展,高度可靠性的存储,具备高可用性、高性能及可扩展等特点。

优点:

支持对象存储(OSD)集群,通过CRUSH算法,完成文件动态定位,处理效率更高

符合posix语义,支持通过FUSE方式挂载,降低客户端的开发成本,通用性高

支持分布式的MDS/MON,无单点故障

强大的容错处理和自愈能力

支持在线扩容和冗余备份,增强系统的可靠性

缺点:

目前处于试验阶段,系统稳定性有待考究

部署和运维较复杂,集群管理工具较少

FastDFS

FastDFS是以C语言开发的一项开源轻量级分布式文件系统,提供文件存储、文件同步、文件访问(文件上传/下载)等通用文件管理操作,尤其适合以文件为载体的在线服务,如图片网站,视频网站等。追求高性能和高扩展性FastDFS,可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适。

优点:

支持在线扩容机制,增强系统的可扩展性

实现了软RAID,增强系统的并发处理能力及数据容错恢复能力

支持主从文件,支持自定义扩展名

主备Tracker服务,增强系统的可用性

缺点:

不支持POSIX通用接口访问,通用性较低

对跨公网的文件同步,存在较大延迟,需要应用做相应的容错策略

同步机制不支持文件正确性校验,降低了系统的可用性

通过API下载,存在单点的性能瓶颈

MooseFS

MooseFS是在HDFS之后出现的,它也是类似的MDS+OSS架构,区别于HDFS的是,MooseFS没有对运行其上的业务做假设,它没有假设业务是大文件或海量小文件,也就是说,MooseFS的定位是像ext4、xfs、NTFS等单机文件系统一样的通用型文件存储。

优点:

扩容成本低、支持在线扩容,不影响业务,体系架构可伸缩性极强

支持POSIX通用接口访问,支持通过FUSE方式挂载,降低客户端的开发成本,通用性高

文件对象高可用,可设置任意的文件冗余程度(提供比Raid 10更高的冗余级别)

提供系统负载,将数据读写分配到所有的服务器上,加速读写性能

实现了软RAID,增强系统的并发处理能力及数据容错恢复能力

数据恢复比较容易,增强系统的可用性。有回收站功能,方便业务定制

缺点:

Master Server的单点解决方案的健壮性。Master Server一旦出问题Metalogger Server可以恢复升级为Master Server,但是需要恢复时间

Master Server本身的性能瓶颈。MFS的主备架构情况类似于MySQL的主从复制,从可以扩展,主却不容易扩展

随着MFS体系架构中存储文件的总数上升,Master Server对内存的需求量会不断增大

大数据开发:分布式文件存储系统简介

关于大数据开发,分布式文件存储系统,以上就为大家做了简单的介绍了。分布式文件系统,是解决大数据存储问题的重要底层支持,对于市场主流分布式存储产品,需要有相应的了解才行。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135582.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BLSP_用冰块和棉签玩哭凹凸世界

    BLSP_用冰块和棉签玩哭凹凸世界1.基础概念(1)   BusAccessModule(BAM),总线访问模块BAMisusedtomovedatato/fromtheperipheralbuffers.(2)   BAMLow-SpeedPeripheral(BLSP),低速接口的总线访问模块(3)   QUP:QualcommUniversalPeripheral,高通统一的…

    2022年10月19日
    0
  • Android 11 应用兼容性适配,看这篇就够了

    Android 11 应用兼容性适配,看这篇就够了本文档基于谷歌Android11DeveloperPreview4(DP4)版本的变更输出一、兼容性调试工具Android11引入了新的工具,用于针对最新版平台中的行为变更来测试和调试应用。这些工具属于新的兼容性框架的一部分,可让应用开发者单独开启和关闭各项变更。有了这种灵活性,您可以关闭单项变更,然后继续针对平台中的其他变更测试应用;也可以每次单独针对一项行为变更测试应用。不管是影响所有应用的行为变更还是只影响以Android11为目标平台的应用的行为变更,您都可以随意开启或关

    2022年7月13日
    30
  • 手机号验证最新正则表达式「建议收藏」

    一般表单页面都需要填写手机号,校验用户输入的手机号码是否正确,就要用到正则表达式,用正则表达式来匹配手机号段,如在运营商号段内,则号码正确。因此,需要知道运营商最新的号段,如下所示:各大运营商手机号码段(新)中国电信号段133、153、173、177、180、181、189、190、191、193、199中国联通号段130、131、132、145、155、156、166、167、171、175、176、185、186、196中国移动号段134(0-8)、135、136、137、138

    2022年4月5日
    153
  • RT-thread —- FinSH 控制台

    RT-thread —- FinSH 控制台一、介绍FinSH是RT-Thread的命令行组件(shell),有了shell,就像在开发者和计算机之间架起了一座沟通的桥梁,开发者能很方便的获取系统的运行情况,并通过命令控制系统的运行。特别是在调试阶段,有了shell,开发者除了能更快的定位到问题之外,也能利用shell调用测试函数,改变测试函数的参数,减少代码的烧录次数,缩短项目的开发时间。FinSH支持两种输入模式…

    2022年5月22日
    49
  • 全局平均池化层替代全连接层(battering ram)

    转载的文章链接:为什么使用全局平均池化层?关于globalaveragepoolinghttps://blog.csdn.net/qq_23304241/article/details/80292859在卷积神经网络的初期,卷积层通过池化层(一般是最大池化)后总是要一个或n个全连接层,最后在softmax分类。其特征就是全连接层的参数超多,使模型本身变得非常臃肿。之后,有大牛在NIN(NetworkinNetwork)论文中提到了使用全局平局池化层代替全连接层的思路,以下是摘录的一.

    2022年4月17日
    84
  • poe交换机百度百科_交换机带poe什么意思

    poe交换机百度百科_交换机带poe什么意思文章目录前言一、POE交换机与普通交换机的区别二、POE系统的组成三、POE交换机输出电压和功率四、POE系统的四种连接方法五、POE交换机供电距离六、提示1.网线2.不选非标POE3.不用假POE终端设备前言POE(PowerOverEthernet)指的是在现有的以太网Cat.5布线基础架构不作任何改动的情况下,在为一些基于IP的终端(如IP电话机、无线局域网接入点AP、网络摄像机等)传输数据信号的同时,还能为此类设备提供直流电的技术,就是支持以太网供电的交换机。提示:以下是本篇文章正

    2022年10月4日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号