设为首页收藏本站

小牛社区-大数据学习交流社区|大数据免费学习资源

 找回密码
 立即注册!

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 102|回复: 0

浅谈分布式文件系统MooseFS和​Hadoop​各自优缺点

[复制链接]

135

主题

0

帖子

36

积分

吃土小白

Rank: 1

积分
36
发表于 2018-1-11 21:12:13 | 显示全部楼层 |阅读模式
这两个文件系统系追加写模式,即两者都更加适合“一次写多次读”的模式,如果涉及到数据的修改,那么这个问题就相对比较麻烦了(更好的办法可以参考Sorrento这个文件系统);由于海量元数据的因素,对待海量小文件都相对比较乏力。下面进行详细比较。
首先,说一下这两个分布式文件系统的相同之处:
1.这两个文件系统都是类似GoogleFS的实现方式,即一个MasterServer和多个ChunkServer构成的存储集群;
2.这两个文件系统都存在MasterServer的单点问题(个人认为主从备份并不能从根本上解决这个问题,该问题的解决之道应该是类似 Ceph多元数据服务器方式,这方面也是我研究生阶段的研究点之一);
3.这两个文件系统追加写模式,也就是说,两者都更加适合“一次写多次读”的模式,如果涉及到数据的修改,那么这个问题就相对比较麻烦了(更好的办法可以参考Sorrento这个文件系统);
4.由于海量元数据的因素,对待海量小文件都相对比较乏力(更好地解决办法可以参考Facebook的Haystack);
5.两者都支持在线扩容。
我们再来看看这两个分布式文件系统的差异:
1.HDFS由Java实现,MooseFS由C++实现;
2.HDFS不符合posix语义,MooseFS是完全符合posix语义的,原因在于MooseFS是通过Fuse来通过客户端接口的(Fuse目前已经是标准内核的一部分了),现有使用本地文件系统的程序可以直接平滑迁移到MooseFS上,无需任何修改,但是MooseFS也付出了相应地开销:使用HDFS编写程序时直接使用库(如libhdfs)就可以跟Master或者ChunkServer通信,请求传输更为高效,而MooseFS需要通过标准posix接口将请求发送到内核,再通过Fuse将请求截获发送到用户态,然后才能和Master或者ChunkServer通信;
3.MooseFS提供了快照功能,HDFS目前还没有看到这个方面的实际开发行动;
4.MooseFS针对小文件和随机I/O进行了一些优化;说到主流这个问题,HDFS具有压倒性的优势:Facebook、Yahoo、阿里、腾讯、百度等等都是使用者,社区也更为活跃,谁让Apache Software Foundation是开源一姐呢?!
不过读者也不用灰心,MooseFS的粉丝也不少 Who is using MooseFS,1.5PB的数据也证明了MooseFS还是有两把刷子的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册!

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册!

本版积分规则

快速回复 返回顶部 返回列表