使用具有正斜杠的密钥连接到s3接收器时出现无效主机名错误

ndh0cuux  于 2021-06-03  发布在  Flume
关注(0)|答案(3)|浏览(294)

我有一个 forward slash 在aws密钥中。
当我尝试连接到s3接收器时

Caused by: java.lang.IllegalArgumentException: Invalid hostname in URI s3://xxxx:xxxx@jelogs/je.1359961366545
    at org.apache.hadoop.fs.s3.S3Credentials.initialize(S3Credentials.java:41)

当我用 %2F ,我明白了

The request signature we calculated does not match the signature you provided. Check your key and signing method.

我应该如何编码我的密钥。

goucqfw6

goucqfw61#

在最佳解决方案工作时,只需在键周围添加“”。如何使用:

hadoop distcp -Dfs.s3a.awsAccessKeyId="yourkey" -Dfs.s3a.awsSecretAccessKey="yoursecret" <your_hdfs_path> s3a://<your-bucket>
a0zr77ik

a0zr77ik2#

使用

-Dfs.s3n.awsAccessKeyId=<your-key> -Dfs.s3n.awsSecretAccessKey=<your-secret-key>

例如

hadoop distcp -Dfs.s3n.awsAccessKeyId=<your-key> -Dfs.s3n.awsSecretAccessKey=<your-secret-key> -<subsubcommand> <args>

hadoop fs -Dfs.s3n.awsAccessKeyId=<your-key> -Dfs.s3n.awsSecretAccessKey=<your-secret-key> -<subsubcommand> <args>
jljoyd4f

jljoyd4f3#

我最终创建了一个没有正斜杠的新密钥。这是一个已知问题,生成新密钥是唯一的解决方案。

相关问题