Я пытаюсь скопировать файл с S3 на мой HDO HD на Amazon EC2.Hadoop distcp copy from S3: Подпись не соответствует ошибке
Команда, я использую это:
bin/hadoop distcp s3://<awsAccessKeyId>:<awsSecretAccessKey>@<bucket_name>/f1 hdfs://user/root/
- f1 это имя файла
- Я также изменил его S3N, чтобы увидеть, если он работает, но это не так.
- я заменяю слэш в моем секретном ключе доступа с помощью% 2F
Ошибки, что я получаю это: SignatureDoesNotMatch
org.jets3t.service.S3ServiceException: S3 GET failed for '/%2Ff1'
<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
<StringToSignBytes>...</StringToSignBytes>
<RequestId>...</RequestId>
<HostId>..</HostId>
<SignatureProvided>NsefW5en6P728cc9llkFIk6yGc4=\
</SignatureProvided>
<StringToSign>GETMon, 05 Aug 2013 15:28:21 GMT/<bucket_name>/%2Ff1</StringToSign>
<AWSAccessKeyId><MY_ACCESS_ID><\ /AWSAccessKeyId></Error>
У меня есть только один AWS Access Key Id и секретный ключ. Я проверил свою учетную запись AWS, и они такие же. Я использую тот же ключ доступа AWS и секретный ключ для входа в мой кластер EC2. Я также пробовал использовать core-site.xml, но это тоже не помогло.
Спасибо, Раджив
Я также нашел, что вам понадобится ваш s3-url для начала с s3n вместо s3 – viper
это сработало для меня: http://stackoverflow.com/questions/14681938/invalid-hostname-error-when-connecting-to- s3-sink-when-using-secret-key-having-f – Roshini