
Estou tentando acessar o bucket AWS s3 da VM do cluster Azure HDInsight. Gerei novas chaves e adicionei a .aws/credentials. "aws s3 ls" está funcionando bem no Azure VM. Se eu fizer hadoop distcp ou ler um arquivo s3 no spark-shell, recebo o erro 403 "O ID da chave de acesso da AWS que você forneceu não existe em nossos registros". Tentei exportar AWS_SESSION_TOKEN, AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY. mas sem sorte. Por favor me ajude a resolver esse problema.
Responder1
Encontrei uma solução para esse problema. Adicionei as seguintes propriedades em core-site.xml.
Propriedade1:
Nome: fs.s3a.aws.credentials.provider
valor: org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider
Propriedade2:
Nome: fs.s3a.access.key
Valor: XXXXXXXXX
Propriedade3:
Nome: fs.s3a.secret.key
Valor: XXXXXXX
Propriedade4:
Nome:fs.s3a.session.token
Valor: XXXXX
Inicialmente eu estava tentando acessar o s3 sem a propriedade "fs.s3a.aws.credentials.provider" do spark-shell