GlusterFS 或 Ceph 作为 Hadoop 的后端

GlusterFS or Ceph as backend for Hadoop

有没有人尝试过使用 GlusterFS 或 Ceph 作为 Hadoop 的后端?我不是在谈论只使用插件来缝合东西。性能比HDFS本身好吗?是否适合生产使用。

此外,将对象存储、hadoop hdfs 存储合并为一个存储真的是个好主意吗?或者最好将它们分开。

我以前用过GlusterFS,它有一些不错的特性,但最后我选择使用HDFS作为Hadoop中的分布式文件系统。

GlusterFS 的好处在于它不需要主客户端节点。集群中的每个节点都是平等的,所以 GlusterFS 没有单点故障。我发现 GlusterFS 中另一件有趣的事情是它有 glusterfs-client 模块,http://www.jamescoyle.net/how-to/439-mount-a-glusterfs-volume,当你想将文件存储到 glusterfs 时,你不需要与 GlusterFS api 接口,你只需要将文件复制到 glusterfs-client 中的挂载卷并轻松完成工作。

但我发现 GlusterFS 很难集成到 Hadoop 生态系统中,例如 Spark、Mapreduce 等,其中 HDFS 受到 Hadoop 生态系统中几乎所有组件的支持。我觉得GlusterFS可以很好的搭建一个像文件存储一样独立于Hadoop的集群系统

我尝试将 Ceph 作为 Hadoop 2.7 中的 "drop-in" HDFS 替代品,在解决了许多集成问题后发现它比 terasort 基准测试中具有默认复制因子的 HDFS 慢 two/three 倍。我不知道这是为什么。其他人尝试了不同的方法但结果相似:

http://www.snia.org/sites/default/files/SDC15_presentations/cloud_files/YuanZhou_big_data_analytics_on_object_store_r3.pdf

将对象和 hdfs 存储结合起来是个好主意吗?我认为这个问题是不正确的。 HDFS(通过 Ozone 和 FUSE)和 Ceph 都提供了将它们用作对象存储和常规 POSIX 文件系统的能力,Ceph 也有提供块存储的优势,而 HDFS 目前正在讨论:https://issues.apache.org/jira/browse/HDFS-11118 如果是 "can I expose my storage as POSIX FS, Object, Block store at the same time?" 的问题,那么答案是,如果您的设计满足您对可扩展性和高可用性的要求,这实际上可能是一个好主意。