有没有人试图使用GlusterFS或Ceph作为Hadoop的后端?我不是在谈论只是使用插件来缝制东西。性能是否优于HDFS本身?它是否适合生产使用。
此外,合并对象存储,hadoop hdfs存储作为单个存储是否是一个非常好的主意?或者最好将它们分开。
答案 0 :(得分:7)
之前我使用过GlusterFS,它有一些不错的功能但最后我选择在Hadoop中使用HDFS用于分布式文件系统。
GlusterFS的优点在于它不需要主客户端节点。集群中的每个节点都是相同的,因此GlusterFS中没有单点故障。另外我在GlusterFS中发现有趣的事情是它有glusterfs-client模块,http://www.jamescoyle.net/how-to/439-mount-a-glusterfs-volume,当你想将文件存储到glusterfs时,你不需要与GlusterFS apis接口,你只需要需要将文件复制到glusterfs-client中的已安装卷中,并使工作变得如此简单。
但我发现GlusterFS很难集成到Hadoop生态系统,如Spark,Mapreduce等,其中HDFS受Hadoop生态系统中所有大多数组件的支持。我认为GlusterFS很适合构建一个独立于Hadoop的文件存储等集群系统。
答案 1 :(得分:4)
我已经尝试过Ceph" drop-in" Hadoop 2.7中的HDFS替换以及在解决了许多集成问题之后发现它比使用terasort基准测试中的默认复制因子的HDFS慢两到三倍。我不知道原因。其他人尝试了不同的方法,结果相似:
组合对象和hdfs存储是否是个好主意?我认为这个问题不正确。 HDFS(通过Ozone和FUSE)和Ceph都提供了将它们用作对象存储和常规POSIX文件系统的能力,Ceph也具有边缘提供块存储,而目前正在讨论HDFS:https://issues.apache.org/jira/browse/HDFS-11118 如果是"我可以同时将我的存储暴露为POSIX FS,对象,块存储吗?"那么答案就是如果您的设计满足您对可扩展性和高可用性的要求,那么它实际上可能是一个好主意。