在Spark的常见问题解答中,它明确指出一个人不必使用HDFS:
我是否需要Hadoop来运行Spark?
不,但如果您在群集上运行,则需要某种形式的共享文件系统(例如,NFS安装在每个节点上的相同路径上)。如果您有这种类型的文件系统,则可以在独立模式下部署Spark。
那么,如果我不打算使用Hadoop MapReduce,那么使用Apache Spark和HDFS与其他分布式文件系统(如NFS)相比有哪些优点/缺点?如果我使用NFS而不是HDFS用于节点存储(用于检查点,随机溢出等),我是否会遗漏一个重要的功能?
答案 0 :(得分:9)
经过几个月和NFS和HDFS的一些经验,我现在可以回答我自己的问题:
NFS 允许查看/更改远程计算机上的文件,就好像它们存储在本地计算机上一样。 HDFS 也可以这样做,但它是分布式的(而不是NFS),也是容错和可扩展的。
使用NFS的优点是设置简单,因此我可能会将其用于QA环境或小型集群。 HDFS的优势当然是它的容错性,但更大的优势,恕我直言,当HDFS与Spark节点位于同一位置时能够利用局部性,这为检查点,随机溢出等提供了最佳性能。