配置hadoop使用s3请求程序

vatpfxk5  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(414)

我正在使用hadoop(通过spark),需要访问s3n内容,这是请求者付费的。通常,这是通过启用 httpclient.requester-pays-buckets-enabled = truejets3t.properties . 但是,我设置了这个,spark/hadoop却忽略了它。也许我把 jets3t.properties 在错误的地方( /usr/share/spark/conf/ ). 如何让hadoop/spark/jets3t访问请求者支付桶?
更新:如果你在amazonec2之外,这是需要的。在ec2中,amazon不要求请求者付费。所以,一个粗略的解决方法是用完ec2。

5ssjco0h

5ssjco0h1#

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

niwlg2el

niwlg2el2#

spark系统由几个jvm(应用程序、主程序、工作程序、执行程序)组成,因此设置属性可能很棘手。你可以用 System.getProperty() 在执行文件操作之前,检查运行代码的jvm是否加载了正确的配置。你甚至可以用 System.setProperty() 直接设置它,而不是计算配置文件。

相关问题