Hadoop可以访问S3文件,但Spark不能访问

时间:2015-06-16 02:04:33

标签: hadoop amazon-s3 apache-spark

我在一台EC2机器上沿着Hadoop 2.6运行Spark 1.4。 我配置了HADOOP_CLASSPATH和core-site.xml来访问我的S3文件。

虽然Hadoop能够访问我的存储桶中的文件,但是spark-shell失败却惨遭抛出以下错误:

 java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3native.NativeS3FileSystem not found

我尝试将aws jar添加到类路径中,但没有任何帮助。

任何人都知道这可能来自哪里?

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要在类路径中添加两个额外的jar文件

例如。在你的火花提交 --jar = AWS-java的SDK-1.7.4.jar:Hadoop的AWS-2.6.0.jar

或者您可以添加到您的配置中: 例如。 spark.executor.extraClassPath& spark.driver.extraClassPath

另外,尝试使用“s3a://”这是Hadoop中较新的S3库