
Azure HDInsight 클러스터 VM에서 AWS s3 버킷에 액세스하려고 합니다. 새 키를 생성하고 .aws/credentials에 추가했습니다. "aws s3 ls"가 Azure VM에서 제대로 작동합니다. hadoop distcp를 수행하거나 Spark-Shell에서 s3 파일을 읽는 경우 "제공한 AWS 액세스 키 ID가 우리 기록에 없습니다."라는 403 오류가 발생합니다. 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
값: XXXXXX
처음에는 Spark-Shell에서 "fs.s3a.aws.credentials.provider" 속성 없이 s3에 액세스하려고 했습니다.