gpt4 book ai didi

Hadoop distcp 未提供 AWS 凭证

转载 作者:可可西里 更新时间:2023-11-01 14:25:55 29 4
gpt4 key购买 nike

我有一大桶 S3 文件要放在 HDFS 上。考虑到涉及的文件数量,我首选的解决方案是使用“分布式副本”。但是由于某种原因,我无法让 hadoop distcp 获取我的 Amazon S3 凭据。我使用的命令是:

hadoop distcp -update s3a://[bucket]/[folder]/[filename] hdfs:///some/path/ -D fs.s3a.awsAccessKeyId=[keyid] -D fs.s3a.awsSecretAccessKey=[secretkey] -D fs.s3a.fast.upload=true

然而,这就像没有“-D”参数一样。

ERROR tools.DistCp: Exception encountered
java.io.InterruptedIOException: doesBucketExist on [bucket]: com.amazonaws.AmazonClientException: No AWS Credentials provided by BasicAWSCredentialsProvider EnvironmentVariableCredentialsProvider SharedInstanceProfileCredentialsProvider : com.amazonaws.SdkClientException: Unable to load credentials from service endpoint

我查看了 hadoop distcp 文档,但在那里找不到解决方案,说明为什么它不起作用。我试过 -Dfs.s3n.awsAccessKeyId 作为标志,但也没有用。我已经读到明确传递凭据不是一个好的做法,所以也许这只是一些以其他方式进行的 gentil 建议?

应该如何使用 distcp 传递 S3 凭据?有人知道吗?

最佳答案

自上一版本以来,凭据标志的格式似乎发生了变化。以下命令有效:

hadoop distcp \
-Dfs.s3a.access.key=[accesskey] \
-Dfs.s3a.secret.key=[secretkey] \
-Dfs.s3a.fast.upload=true \
-update \
s3a://[bucket]/[folder]/[filename] hdfs:///some/path

关于Hadoop distcp 未提供 AWS 凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47456479/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com