Как узнать, какие учетные данные AWS использует Spark для чтения файлов S3? - PullRequest
0 голосов
/ 02 апреля 2019

Я выполняю задание Узи, которое ранее работало нормально. И теперь у меня есть ошибка отказа в доступе при доступе к файлам S3. Я просто пытаюсь выяснить, какие учетные данные он использует и где их исправить.

Насколько я могу судить, учетные данные, похоже, поступают из нескольких мест и не уверены в порядке приоритета (например, ~ / .aws / учетные данные, переменные среды, конфигурация hadoop, роль IAM и т. Д.).

Есть ли способ узнать, какие активные учетные данные используются? Можно ли распечатать идентификатор активной учетной записи AWS в журнале зажигания?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019
  1. Данные для входа в AWS на самом деле не регистрируются из соображений безопасности.
  2. При отправке Spark вы получите переменные AWS_ env со своего рабочего стола и зададите значения fs.s3a, переопределяя любые из них.

В соединителе s3a порядок составляет

  1. секретов в URI (плохо, избегать, удален из последних выпусков)
  2. fs.s3a properties
  3. env vars
  4. Учетные данные IAM, предоставленные виртуальной машине EC2

Вы можете настроить список поставщиков аутентификации , чтобы изменить порядок, удалить, удалитьих и т. д.

0 голосов
/ 02 апреля 2019

Поскольку вы используете кластер Cloudera, возможно, вы прочитали этот документ Создайте измененную копию файлов конфигурации

Лучше добавить следующее в файл core-site.xmlвнутри элемента:

<property>
    <name>fs.s3a.access.key</name>
    <value>Amazon S3 Access Key</value>
</property>

<property>
    <name>fs.s3a.secret.key</name>
    <value>Amazon S3 Secret Key</value>
</property>
...