AWS доступ к S3 от искры с использованием роли IAM

1
задан user3607698 16 January 2019 в 18:31
поделиться

2 ответа

«400 Bad Request» довольно бесполезен, и S3A не только мало что дает, но и S3A-соединитель не печатает даты, так как он связан с аутентификацией. В есть большой раздел, посвященный устранению ошибки

Тот факт, что он получил запрос, означает, что он имеет некоторые учетные данные, только дальнему концу они не нравятся

[ 1116] Возможности

  • Ваша роль IAM не имеет разрешений для s3: ListBucket. См. Разрешения роли IAM для работы с s3a
  • неверное имя вашего сегмента
  • В fs.s3a или в параметрах AWS_ env есть некоторые параметры, которые получают приоритет над ролью IAM и они не правы.

Вы должны автоматически использовать аутентификацию IAM в качестве механизма аутентификации с разъемом S3A; последний проверяется после: config & amp; env vars.

  1. Посмотрите, что установлено в fs.s3a.aws.credentials.provider - оно должно быть не задано или содержать опцию com.amazonaws.auth.InstanceProfileCredentialsProvider
  2. , при условии, что у вас также есть hadoop в командной строке, захватите [116 ] storeiag
hadoop jar cloudstore-0.1-SNAPSHOT.jar storediag s3a://testmys3/

он должен выбросить то, что он делает относительно аутентификации.

Обновление

Как прокомментировал оригинальный автор, это произошло из-за необходимости аутентификации v4 на конкретной конечной точке S3. Это можно включить в версии 2.7x клиента s3a, но только через системные свойства Java. Для 2.8+ есть несколько fs.s3a. опции, которые вы можете установить вместо этого

0
ответ дан Steve Loughran 16 January 2019 в 18:31
поделиться

этот конфиг работал

./spark-shell --packages com.amazonaws:aws-java-sdk:1.7.4,org.apache.hadoop:hadoop-aws:2.7.3 --conf spark.hadoop.fs.s3a.endpoint=s3.us-east-2.amazonaws.com --conf spark.hadoop.fs.s3a.impl=org.apache.hadoop.fs.s3a.S3AFileSystem --conf spark.hadoop.fs.s3a.aws.credentials.provider=com.amazonaws.auth.InstanceProfileCredentialsProvider --conf spark.executor.extraJavaOptions=-Dcom.amazonaws.services.s3.enableV4=true --conf spark.driver.extraJavaOptions=-Dcom.amazonaws.services.s3.enableV4=true  
0
ответ дан user3607698 16 January 2019 в 18:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: