4

私はforward slashawsの秘密鍵を持っています。

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.

秘密鍵をどのようにエンコードすればよいですか。

4

3 に答える 3

4

キーを囲む "" を追加するだけで、samthebest ソリューションが機能します。ここでそれを使用する方法:

hadoop distcp -Dfs.s3a.awsAccessKeyId="yourkey" -Dfs.s3a.awsSecretAccessKey="yoursecret" <your_hdfs_path> s3a://<your-bucket>
于 2015-10-28T19:59:14.263 に答える
3

スラッシュなしで新しい秘密鍵を作成することになります。これは既知の問題であり、新しいキーを生成することが唯一の解決策です。

于 2013-02-05T06:20:48.603 に答える
2

使用する

-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>
于 2014-05-08T16:15:45.250 に答える