#apache-spark #amazon-s3 #oozie
#apache-spark #amazon-s3 #oozie
Вопрос:
Я запускаю задание Oozie, которое ранее выполнялось нормально. И теперь у меня ошибка отказа в разрешении при доступе к файлам S3. Я просто пытаюсь выяснить, какие учетные данные он использует и где их исправить.
Насколько я могу судить, учетные данные, похоже, поступают из нескольких мест и не уверены в порядке приоритета (например, ~/.aws/credentials, переменные среды, конфигурация hadoop, роль IAM и т.д.).
Есть ли способ определить, какие активные учетные данные используются? Можно ли распечатать активный идентификатор ключа учетной записи AWS в журнале spark?
Комментарии:
1. Используете ли вы EMR или устанавливаете свой собственный spark на EC2? Используете ли вы Oozie для запуска задания Spark?
2. Это кластер Cloudera. Да, Oozie запустил задание.
Ответ №1:
- Данные для входа в AWS на самом деле не регистрируются по соображениям безопасности.
- Spark submit получит переменные AWS_ env с вашего рабочего стола и установит значения fs.s3a, переопределяя любые из них.
В соединителе s3a порядок такой
- секреты в URI (плохие, избегать, удалены из последних выпусков)
- свойства fs.s3a
- env vars
- Учетные данные IAM, предоставленные виртуальной машине EC2
вы можете настроить список поставщиков аутентификации, чтобы изменить порядок, удалить их и т.д.
Ответ №2:
Поскольку вы используете Cloudera cluster, возможно, вы прочитали этот документ, создайте измененную копию файлов конфигурации
Лучше добавить следующее в 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>