Хотел бы прокомментировать различные подходы, которые мы используем, основываясь на чтении документации AWS EMR и общении с людьми.
- AWS EMR на дату (июнь -2019) не имеетспособ добавления переменных среды, которые можно добавлять точно так же, как конфигурации в эластичном бобовом стебле.
- Мы можем взглянуть на два подхода -
a.Добавьте через конфигурацию при создании кластера ::
aws emr create-cluster --configurations file: //custom_config.json
[См.:: Как установить настраиваемую переменную среды в EMR, которая будет доступна для искры. Приложение ]
Откат с этим подходом заключается в том, что после создания кластера мы не сможемсделать это через модифицировать кластер.
b.Используйте опцию bootstrap action , доступную в представлении списка кластеров AWS EMR.
--bootstrap-actions Path=s3://mybucket/filename",Args=[arg1,arg2]
Хотя это также необходимо указать при создании кластера, мы можем изменить этот файл в любое время.Чтобы изменение отразилось - нам нужен cronjob, поддерживаемый в главном узле, чтобы периодически запускать этот скрипт во всех узлах.Когда новый узел создается для автоматического масштабирования, измененные значения будут автоматически помещаться в эти вновь созданные экземпляры.
Да, это своего рода обходные подходы. Но они кажутся доступными в настоящее время способами, кромевход в каждый экземпляр и установка переменных среды вручную.
Пожалуйста, не стесняйтесь комментировать любые предложения.