
Я пытаюсь получить доступ к контейнеру AWS s3 из кластерной виртуальной машины Azure HDInsight. Я сгенерировал новые ключи и добавил их в .aws/credentials. «aws s3 ls» отлично работает в виртуальной машине Azure. Если я выполняю hadoop distcp или читаю файл s3 в spark-shell, я получаю ошибку 403 «Предоставленный вами идентификатор ключа доступа AWS не существует в наших записях». Я пробовал экспортировать AWS_SESSION_TOKEN, AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY, но безуспешно. Пожалуйста, помогите мне решить эту проблему.
решение1
Я нашел решение этой проблемы. Я добавил следующие свойства в core-site.xml.
Недвижимость1:
Имя: fs.s3a.aws.credentials.provider
значение: org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider
Недвижимость2:
Имя: fs.s3a.access.key
Значение: XXXXXXXXX
Недвижимость3:
Имя: fs.s3a.secret.key
Значение: XXXXXXX
Недвижимость4:
Имя:fs.s3a.session.token
Значение: XXXXX
Изначально я пытался получить доступ к s3 без свойства "fs.s3a.aws.credentials.provider" из spark-shell