NFS替代HDFS

3

HDFS是Hadoop的核心部分,我知道这一点。但是如果我不想将数据存储在HDFS上,而是希望在可通过NFS协议访问的远程服务器上分析和运行Hadoop作业中的数据,该怎么做呢?

例如,我希望使用NFS服务器上的数据来运行Teragen,如下所示:

hadoop jar hadoop-mapreduce-examples.jar teragen 1000000000 nfs://IP/some/path

我只是在寻找如何实现这个想法的想法,并且我理解所有这一切的后果(HDFS与NFS)。因此,虽然我感激任何人告诉我这是一个坏主意,但我仍然想尝试一些实验。

也许我可以编写一些代码来实现这个想法,但任何指导我需要从哪里开始的指针都将有所帮助,也会受到赞赏。我也不想重复造轮子。因此,如果像我不知道的类似东西已经存在,请务必发表评论并让我知道。我构建的任何内容都将成为开源的,以便他人也可以受益。


你总是可以反过来创建一个HDFS的NFS网关。 - tk421
NFS网关用于HDFS已经存在(https://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsNfsGateway.html),但这不是我所说的。 NFS网关所做的全部工作就是“允许将HDFS挂载为客户端本地文件系统的一部分”。 这与我的要求非常不同,我要求的是在远程NFS服务器上存储的数据上运行Hadoop作业,与HDFS无关。 - Testing123
您可以始终在YARN本地模式下运行应用程序,并使数据路径指向NFS挂载分区。我知道这应该在单节点上工作,但您必须查看是否可以在仅运行YARN而不是HDFS的集群上执行此操作。当然,您的NFS挂载需要在所有集群主机上对称。 - tk421
"NFS挂载分区"破坏了我正在尝试做的事情。请再次阅读我的问题和描述。如果我挂载NFS分区,那么这将与HDFS完全相同,其中NFS卷只会像对于Hadoop来说是本地卷一样。我所寻找的是不同的,其中HDFS不涉及到图片,因此也没有namenode(或者可能有,不确定如何在没有数据存储在HDFS的情况下工作)。使用某些NFS客户端从远程NFS服务器读取和写入数据。这就是我需要关于如何进行操作的一些指针的地方。希望这可以澄清。 - Testing123
1个回答

1

你知道这个网站吗: https://blog.netapp.com/blogs/run-big-data-analytics-natively-on-nfs-data/

它看起来可以在底层使用NFS替换HDFS,而在更高抽象层面上,一切都像以前一样工作,MapReduce/YARN会为你处理所有事情。

我不能确定它是否有效,因为我们目前正在准备建立这样的“本地NFS Hadoop”。几个月后我会带着更多细节回来和你分享。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接