Hadoop Alluxio带/不带HDFS

Hadoop Alluxio带/不带HDFS,hadoop,hdfs,distributed-filesystem,alluxio,Hadoop,Hdfs,Distributed Filesystem,Alluxio,我有一个带有HDFS的集群,它是一个存储不足的分布式文件系统,但我刚刚读过有关快速灵活的alluxio的文章。所以,我的问题是:我应该将Alluxio与HDFS一起使用,还是将Alluxio作为HDFS的替代方案?(我在他们的网站上看到,存储不足文件系统的共享存储可以是网络文件系统(NFS)。因此,我认为不需要HDFS。如果我出错,请纠正我) 在哪种模式下性能更好:使用Alluxio的HDFS或Alluxio Stanlone(我的意思是“独立”一词在集群中单独使用,而不是在本地使用)。Allu

我有一个带有HDFS的集群,它是一个存储不足的分布式文件系统,但我刚刚读过有关快速灵活的alluxio的文章。所以,我的问题是:我应该将Alluxio与HDFS一起使用,还是将Alluxio作为HDFS的替代方案?(我在他们的网站上看到,存储不足文件系统的共享存储可以是网络文件系统(NFS)。因此,我认为不需要HDFS。如果我出错,请纠正我)


在哪种模式下性能更好:使用Alluxio的HDFS或Alluxio Stanlone(我的意思是“独立”一词在集群中单独使用,而不是在本地使用)。

Alluxio维护人员的回复

首先,Alluxio不是HDFS的替代品。相反,它是其他分布式/云存储系统之上的一个新的抽象层,包括HDFS、S3、Azure对象存储和其他可能的选择。在您的情况下,如果您的数据已经在HDFS中,那么您可能仍然会保留HDFS作为Alluxio的持久数据层

用户将Alluxio放在图片中并看到显著好处的典型场景包括:

  • 物理数据未与计算机一起定位。例如,您的bigdata引擎正在从S3或其他对象存储读取数据。在这种情况下,通过将Alluxio与计算节点一起部署,可以使Alluxio作为文件系统级缓存工作,以避免在网络上重复获取数据。看
  • 您正在管理多个存储,并希望公开单个数据访问层以简化管理。例如,可以将多个S3/Bucket“装载”到一个Alluxio部署中,以便它们在同一名称空间下显示为不同的目录。看

关于您最初的性能问题。答案是,视情况而定。如果您的HDFS远离计算机,您将期望获得良好的性能增益。我也看到过HDFS瓶颈的情况,Alluxio也可能有助于减少负载,并为某些关键任务提供良好的SLA。

AFAIK,它是一种替代方案。也许与MapRFS类似,并且与IgniteFsSo竞争,如果它是替代方案,为什么它需要一个共享的存储系统,如HDFS、NFS、S3等?HDFS或其他设备不需要在存储系统下共享这些文件,也不需要与集群机器的本地文件系统一起工作。与HDFS是本地机器文件系统上的抽象类似,Alluxio是其他存储层(如HDFS)上的抽象,但它不是一个要求,因此它是一个替代方案--请参阅而不是“在存储下”那么在我的例子中,在HDFS之上使用Alluxio有什么好处吗?(考虑到我使用的是Spark(它本身就有内存处理引擎),HDFS不是远程的,我的数据节点与计算节点相同)。我认为这不是Alluxio提供显著性能优势的目标场景。此外,最好了解Spark作业是I/O密集型还是计算密集型——在后一种情况下,加快I/O部分的速度对端到端性能几乎没有任何帮助。