MooseFS和Hadoop两个分布式文件系统各有什么优缺点

MooseFS和Hadoop两个分布式文件系统各有什么优缺点,第1张

首先,说一下这两个分布式文件系统的相同之处:1这两个文件系统都是类似GoogleFS的实现方式,即一个MasterServer和多个

ChunkServer构成的存储集群;2这两个文件系统都存在MasterServer的单点问题(个人认为主从备份并不能从根本上解决这个问题,该

问题的解决之道应该是类似 Ceph

多元数据服务器方式,这方面也是我研究生阶段的研究点之一);3这两个文件系统追加写模式,也就是说,两者都更加适合“一次写多次读”的模式,如果涉及

到数据的修改,那么这个问题就相对比较麻烦了(更好的办法可以参考Sorrento这个文件系统);4由于海量元数据的因素,对待海量小文件都相对比较

乏力(更好地解决办法可以参考Facebook的Haystack);5两者都支持在线扩容。

我们再来看看这两个分布式文件系统的差

异:1HDFS由Java实现,MooseFS由C++实现;2HDFS不符合posix语义,MooseFS是完全符合posix语义的,原因在于

MooseFS是通过Fuse来通过客户端接口的(Fuse目前已经是标准内核的一部分了),现有使用本地文件系统的程序可以直接平滑迁移到

MooseFS上,无需任何修改,但是MooseFS也付出了相应地开销:使用HDFS编写程序时直接使用库(如libhdfs)就可以跟Master或

者ChunkServer通信,请求传输更为高效,而MooseFS需要通过标准posix接口将请求发送到内核,再通过Fuse将请求截获发送到用户

态,然后才能和Master或者ChunkServer通信;3MooseFS提供了快照功能,HDFS目前还没有看到这个方面的实际开发行

动;4MooseFS针对小文件和随机I/O进行了一些优化;

说到主流这个问题,HDFS具有压倒性的优势:Facebook、Yahoo、阿里、腾讯、百度等等都是使用者,社区也更为活跃,谁让Apache Software Foundation是开源一姐呢?!但是题主也不用灰心,MooseFS的粉丝也不少 Who is using MooseFS,其中当属豆瓣是大哥,15PB的数据也证明了MooseFS还是有两把刷子的。

最后,个人觉得这两个文件系统都还是达到了工业生产级别的,应该根据实际的存储需求来做选择,两者的差异并不是那么大。

空间=虚拟主机,经济便宜,资源共享,但性能不及服务器和云主机。云主机可以说等于VPS,但是构建技术不一样,真正的云主机一般采用Hadoop+KVM虚拟化技术开发。VPS则是微软Hyper-v虚拟化,性能比不上集群开发的云主机!服务器呢,一般都是指实体机,物理服务器。一台类似CD唱机的机器。性能绝对比云主机、VPS高!虚拟主机就更不用说了。但是价格呢就昂贵了。正品实体服务器一台价格上万

用命令行bin/Hadoop fs -rm(r) 可以删除hdfs上的文件(夹)

用HDFS的API也是可以的。如下:

import javanetURI;

import orgapachehadoopconfConfiguration;

import orgapachehadoopfsFileSystem;

import orgapachehadoopfsPath;

public class FileDelete

{

public static void main(String[] args) throws Exception

{

if(argslength != 1){

Systemoutprintln("Usage filedelete <target>");

Systemexit(1);

}

Configuration conf = new Configuration();

FileSystem hdfs = FileSystemget(URIcreate(args[0]),conf);

hdfsdelete(new Path(args[0]),false);

}

}

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » MooseFS和Hadoop两个分布式文件系统各有什么优缺点

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情