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

大数据开发:分布式文件存储系统简介在分布式存储技术体系当中,分布式文件存储是其中的分类之一,也是大数据架构当中常常用到的。得益于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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用fiddler实现苹果ios手机抓包

    使用fiddler实现苹果ios手机抓包Fiddler 是一个强大的抓包工具 可以通过它抓取 查看和调试 PC 端 手机终端和远程服务器之间的 http https 等通信 Fiddler 没有手机客户端 都是安装在 PC 上 要实现对手机上的程序抓包 则需要对 PC 上的 Fiddler 和手机端做一些配置 此文介绍如何使用 fiddler 实现苹果手机抓包 具体步骤如下 一 对 PC 端的 Fiddler 进行配置 1 Fiddler 默认只捕获 http 会话而不抓取 HTTPS 报文 所以我们要先允许捕获 HTTPS 操作步骤 打开 Fiddler 点击 Tool gt O

    2025年8月29日
    0
  • 【Math for ML】线性代数-单射,满射,双射,同构,同态,仿射[通俗易懂]

    【Math for ML】线性代数-单射,满射,双射,同构,同态,仿射[通俗易懂]I.映射(Mapping)1.单射(Injective)函数f是单射当且仅当若f(x)=f(y)则x=y。例子:f(x)=x+5从实数集\(R\)到\(R\)是个单射函数。这个函数很容易被还原:f(3)=8,即已知8可以返回32.满射(Surjective)函数f(从集A到集B)是满射当且仅当在B中的每个y存在至少…

    2022年5月24日
    52
  • 什么叫杂谈(e网杂谈)

    本文基于JDK1.8,使用的收集器为ParNew+CMS前言这篇文章的起因是这样的,在上周五凌晨很苦逼得参加双十一压测值班的时候,有个业务方突然打电话来说我们提供的客户端存在内存泄漏问题导致线上应用持续fullgc,本来已经快要睡着的我立马就精神起来了,一通排查,最终定位到了确实是客户端有个bug会导致部分数据会被一直持有进入老年代之后gc不掉,从而就导致了老年代的频繁gc,具…

    2022年4月12日
    84
  • pychrome 激活码2021【在线注册码/序列号/破解码】

    pychrome 激活码2021【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    52
  • hdu2094「建议收藏」

    hdu2094「建议收藏」hdu2094

    2022年4月22日
    50
  • 怎么使用nbtscan工具一条命令扫描局域网内所有的IP及MAC

    怎么使用nbtscan工具一条命令扫描局域网内所有的IP及MAC具体操作方法:1、下载nbtscan.rar文件并解压。2、然后将解压好的cygwin1.dll和nbtscan.exe两文件拷贝到C:\WINDOWS\system32根目录下(根目录下即可);3、进入cmd窗口就可以输入命令:nbtscan192.168.X.98/24(此处的ip为扫描主机地址)。请注意:nbtscan只能用于局域网 …

    2022年10月20日
    2

发表回复

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

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