Конфигурация воздушного потока в переменной среды не работает

Я попытался использовать переменную ENV для настройки URL-адресов подключения, у меня есть ami, который предварительно сконфигурирован с alchemy_conn и broker_url и т. Д., Я записал переменные окружения в / etc / environment в экземплярах, которые запускаются из amis, чтобы переопределить свойства в airflow.cfg файл. Я смог получить доступ к переменным из кода Python.

Но, похоже, он не действует при запуске ariflow, также попытался перезапустить процесс, но не сработал, он по-прежнему указывает на файл в файле airflow.cfg

1 ответ

Решение

Проблема, вероятно, заключается в том, что системные службы не получают автоматически /etc/environment это только для интерактивных сессий.

Если вы используете systemd, вы можете добавить EnvironmentFile=/etc/environmentхотя более "типичным" было бы поместить специфичный для службы конфиг в /etc/default/airflow (в Debian/Ubuntu) или /etc/sysconfig/airflow (на Centos/Redhat)

Примеры сценариев systemd из Airflow уже имеют это для Centos: https://github.com/apache/incubator-airflow/blob/faa9a5266c0b2e68693dd106b5cb46d30770dadc/scripts/systemd/airflow-webserver.service

Другие вопросы по тегам