Предоставленный вами идентификатор ключа доступа AWS отсутствует в наших записях - было oop Cloudera. - PullRequest
0 голосов
/ 06 мая 2020

Я сгенерировал временные учетные данные с помощью MFA, а затем на своем локальном компьютере я попытался перечислить все сегменты

aws s3 ls --profile aws-temp s3://bucket-name/ --recursive --human-readable --summarize

Это работает нормально, что означает мои учетные данные (ключ доступа, секретный ключ и токен сеанса) верны.

Проблема возникает, когда я пытаюсь запустить то же самое из Had oop, чтобы перечислить все сегменты

sudo -u hdfs hadoop fs -Dfs.s3a.access.key=accesskey \
-Dfs.s3a.secret.key=secretkey \
-Dfs.s3a.session.token=session-token \
-Dfs.s3a.aws.credentials.provider=org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider
-ls s3a://bucket-name

Я получаю следующую ошибку:

com.cloudera.com.amazonaws.services.s3.model.AmazonS3Exception: The AWS Access Key Id you provided does not exist in our records.

что не имеет смысла, потому что я вижу, что учетные данные верны, когда я использую was cli на моем локальном компьютере

PS Я пытался записать все это в файл конфигурации, а затем использовать что-то вроде этого

sudo -u hdfs hadoop fs \
-D hadoop.security.credential.provider.path=jceks://file-path/s3-temp.jceks \
-ls s3a://bucket-name/

Но это дало мне следующую ошибку:

com.cloudera.com.amazonaws.AmazonClientException: Unable to load AWS credentials from any provider in the chain

У меня в основном есть куча папок на Cloudera, которые я хочу переместить в ведра S3, но до сих пор я не могу даже доступ к сегментам S3 Это документация, которой я следил: https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.1.5/bk_cloud-data-access/content/about.html

Спасибо,

...