-1

我正在使用 Hadoop(通过 Spark),并且需要访问由请求者付费的 S3N 内容。通常,这是通过启用httpclient.requester-pays-buckets-enabled = truein来完成的jets3t.properties。然而,我已经设置了这个,Spark / Hadoop 忽略了它。也许我把它jets3t.properties放在了错误的地方(/usr/share/spark/conf/)。如何让 Hadoop / Spark / JetS3t 访问请求者付费存储桶?

更新:如果您在 Amazon EC2 之外,则需要这样做。在 EC2 中,亚马逊不需要请求者付费。因此,一个粗略的解决方法是用完 EC2。

4

2 回答 2

0

Spark 系统由多个 JVM(应用程序、master、workers、executors)组成,因此设置属性可能很棘手。您可以System.getProperty()在文件操作之前使用来检查运行代码的 JVM 是否已加载正确的配置。您甚至可以使用System.setProperty()直接设置它而不是找出配置文件。

于 2014-05-09T09:53:50.653 回答
0

环境变量和配置文件不起作用,但一些手动代码可以:sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "PUTTHEKEYHERE")

于 2014-05-16T02:37:32.940 回答