1.HDFS
其实在真正搞过分布式文件系统的人看来,HDFS不能算得上是真正的文件系统。因为他实在太简单,太粗糙。甚至连搞个append接口都搞了老半天,到现在应该还不支持随机读写之类的文件系统最基本的功能。他最大的优势是借助hadoop这个生态系统得以比较稳定。另外还有一个优势就是他是用java写的,这样一帮java程序员也可以号称自己在搞文件系统了。
HDFS到现在应该还是不是真正意义上的分布式,他的nameode的federation相当于静态目录,虽然共享存储池,但是namespace是不共享的。
2.Gluster
Gluster最大的优势在于他继承了传统文件系统的posix接口,而且表现比较稳定。虽然他的元数据的分布式hash带来很多性能上的问题,但如果非要用文件系统接口的似乎也没有更好的选择。
但是Gluster用的是c/c++,对于很多只想拿来就用不想踩坑的同学无疑是个负担,万一出了问题不是很容易解决。
3.Swift
Swift的流行得益于openstack,它应该是目前最流行的对象存储系统,印象中有在生产环节跑到上百PB的case。但总感觉这玩意用python写的,有点粗糙,似乎就是一堆脚本的拼凑。
4.Ceph
最后不得不谈一下笔者的最爱,Ceph。初次接触他是在2012年初。它最大的优势就是同时支持三种存储接口,是真正意义上的融合存储。但它mds的设计过于学术,似乎很难有稳定下来的一天。Ceph真正大火也是得益于跟opestack的结合,现在它已经是openstack快存储的不二之选。它的对象存储也还算稳定,dreamhost,CERN包括最近的yahoo都有PB级的生产级别使用。
总结下来HDFS如果不是离线的大数据计算,应该是最没吸引力的。如果是非要用文件系统接口,那只能是gluster。如果单纯的对象存储推荐swift。如果考虑更好的兼容S3或者跟openstack相结合,当然是ceph。
Gluster和Ceph都是c/c++,对于java和pyhon大行其道的今天,选择要慎重。但如果有点情怀特别是追求底层的性能,可以挑战一下ceph。
http://www.kuqin.com/shuoit/20150512/345990.html
相关推荐
第3章-分布式文件系统HDFS.pdf
第2讲_分布式文件系统HDFS.pdf
首先介绍分布式文件系统的基本概念、结构和设计需求,然后介绍Hadoop分布式文件系统HDFS,详细阐述它的重要概念、体系结构、存储原理和读写过程,最后,介绍了一些HDFS编程实践方面的知识
04:HDFS分布式文件系统
分布式文件系统hdfs分布式文件系统hdfs分布式文件系统hdfs
分布式文件系统HDFS原理与操作,分布式文件系统HDFS原理与操作
NULL 博文链接:https://bnmnba.iteye.com/blog/2322332
高级软件人才培训专家_Hadoop课程资料_2-第二章 - 分布式存储 Hadoop HDFS
内容提要:首先介绍分布式文件系统的基本概念、结构和设计需求,然后介绍Hadoop分布式文件系统HDFS,详细阐述它的重要概念、体系结构、存储原理和读写过程,最后,介绍了一些HDFS编程实践方面的知识。
第3讲:HDFS海量存储
熟悉常用的HDFS操作 (1) 理解HDFS在Hadoop体系结构中的角色; (2) 熟练使用HDFS操作常用的Shell命令; (3) 熟悉HDFS操作常用的Java API。
hadoop HDFS学习课件,根据hadoop权威指南和apache官网参考手册整理。整个PPT比较大,教学时需要拆分使用
分布式文件系统HDFS大数据存储的一个简单介绍。不全的 是其中一部分
hadoop2.5.2的本地模式、伪分布式集群、分布式集群和HDFS系统的高可用的环境搭建.docx hadoop2.5.2的本地模式、伪分布式集群、分布式集群和HDFS系统的高可用的环境搭建.docx hadoop2.5.2的本地模式、伪分布式集群、...
java操作Hadoop源码之HDFS Java API操作-上传文件,附带所需全部jar包,欢迎下载学习。
数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取 HDFS采用了冗余数据存储,增强了数据可靠性,加快了数据传输速度。HDFS还采用了相应的数据存放、数据读取和数据复制策略,来提升系统整体读写响应...
(6)移动hdfs文件:hdfs dfs -mv /hdfs路径 /hdfs路径 (7)复制hdfs文件:hdfs dfs -cp /hdfs路径 /hdfs路径 (8)删除hdfs文件:hdfs dfs -rm /文件名 (9)删除hdfs文件夹:hdfs dfs -rm -r /文件夹名
分布式文件系统HDFS(Hadoop Distributed File System)是Hadoop生态系统中的一部分,旨在运行于大规模数据集的分布式环境中,具有高度容错性和高度可用性。它的设计目标是能够管理超大规模的数据集,支持高吞吐量...
Hadoop学习总结之一:HDFS简介
Hadoop学习总结之二:HDFS读写过程解析