2015-10-02 46 views
1

我知道你可以下载各种版本的Hadoop的Spark源代码(1.5.1)或预先编译的二进制文件。截至2015年10月,Spark网页http://spark.apache.org/downloads.html已针对Hadoop 2.6+,2.4+,2.3和1.X预置了二进制文件。下载哪个版本的Spark?

我不确定下载哪个版本。

我想使用AWS机器以独立模式运行Spark群集。

<EDIT>

我将运行24/7流处理。我的数据将来自Kafka流。我想过使用spark-ec2,但是因为我已经有了持久的ec2机器,所以我想我也可以使用它们。

我的理解是,由于我的持久性工作人员需要执行checkpoint(),因此需要与主节点访问某种共享文件系统。 S3似乎是一个合理的选择。
</EDIT>

这意味着我需要访问S3,但不是hdfs。我没有安装Hadoop。

我为Hadoop 2.6预置了Spark。我可以在本地模式下运行它,例如wordcount示例。然而,每当我启动它,我收到此消息

WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 

这是一个问题?我需要hadoop吗?

<EDIT>

这不是作秀塞,但我要确保我明白此警告消息的原因。我认为Spark不需要Hadoop,为什么它甚至显示出来? </EDIT>

回答

1

我不确定要下载哪个版本。

这个考虑因素也将以您正在使用的现有代码,您需要的功能以及容错能力为指导。

我想使用AWS实例以独立模式运行Spark群集。

您是否考虑过简单地运行Apache Spark on Amazon EMR?另请参阅Spark's FAQ中的How can I run Spark on a cluster?,以及他们对EC2 scripts的引用。

这意味着我需要访问S3,但不是HDFS

一个人并不意味着其他。您可以非常好地在EC2实例上运行Spark群集,而不必访问S3。虽然许多示例是通过开箱即用的S3 "fs" drivers for the Hadoop library使用S3访问书写的,但请注意,现在有3种不同的访问方法。适当配置。

但是,您选择的加载库取决于数据的位置。 Spark可以访问Hadoop支持的任何文件系统,from which there are several to choose

你的数据是否在文件中?根据您的应用程序以及您的数据的位置,您可能只需要使用数据框SQL,Cassandra或其他!

但是,每当我启动它,我得到这个消息

WARN NativeCodeLoader:无法加载原生的Hadoop库平台...使用内置的Java类适用 这是一个问题?我需要hadoop吗?

没问题。它告诉你,它正在回落到非最佳实施。其他人也有asked this question

一般情况下,这听起来像你没有任何应用程序需要立即去做,所以你不要有任何相关性。依赖关系是驱动不同的配置,如访问S3,HDFS等。

我可以在本地模式下运行它,如wordcount示例。

所以,你是好?

UPDATE

我已经编辑原帖

我的数据会从卡夫卡流到来。 ......我的理解是,我的执着的员工需要执行checkpoint()

是的,Direct Kafka方法可从Spark 1.3获得,并且根据该文章使用检查点。这些要求"fault-tolerant, reliable file system (e.g., HDFS, S3, etc.)"。请参阅Spark Streaming + Kafka Integration Guide了解具体注意事项的版本。

那么为什么[我看到Hadoop警告消息]?

Spark下载仅附带很多Hadoop客户端库。通过完全配置的Hadoop安装,还有特定平台的本地二进制文件对于某些软件包。如果可用,这些会被使用。要使用它们,augment Spark's classpath;否则,加载器将回退到性能较低的版本。

根据您的配置,您可以采取完全配置Hadoop的HDFS或安装的优势。您提到利用现有的持久性EC2实例,而不是使用新的东西。 S3和HDFS之间有一个权衡:S3是一种新资源(成本更高),但在实例脱机时可以存活(可以降低计算量并保留存储);然而,与HDFS相比,S3可能存在延迟(您已经拥有机器,为什么不运行文件系统?),并且在所有情况下都不是behave like a filesystem。例如,当使用HDInsight时,微软描述这种权衡为choosing Azure storage vs. HDFS

+0

感谢您的评论。我编辑了原文。真的很感谢你的帮助 – user3240688

1

我们还在EC2上针对S3运行Spark(通过s3n文件系统)。我们在Hadoop 2.x的预建版本中遇到了一些问题。遗憾的是,我不记得这个问题是什么。但最终我们使用预先构建的Hadoop 1.x Spark来运行,并且效果很好。

+0

对于轶事答案很抱歉。无论如何希望它有帮助。 –

相关问题