Как установить переменную среды для использования воздушного потока?

Airflow возвращает ошибку при попытке запустить DAG, сообщая, что не может найти переменную среды, что странно, потому что он может найти 3 другие переменные среды, которые я сохраняю как переменную Python. Никаких проблем с этими переменными вообще нет.

У меня есть все 4 переменные в ~/.profile, и я также сделал

export var1="varirable1"
export var2="varirable2"
export var3="varirable3"
export var4="varirable4"

Под каким пользователем работает airflow? Я также выполнил эти export команды под sudo, поэтому я думал, что они будут подхвачены airflow, когда он запустит даг.


person simplycoding    schedule 07.07.2017    source источник
comment
Вы можете получить доступ к этой четвертой переменной через обычную оболочку на том сервере, на котором работает airflow?   -  person Him    schedule 15.07.2017
comment
Если вы добавляете переменные в файл ~/.profile, вам может потребоваться перезагрузить компьютер. В противном случае лучше установить переменные в ~/.bashrc, как указано @Breathe.   -  person Suyog Shimpi    schedule 24.05.2021


Ответы (3)


Может быть, это потому, что воздушный поток использует оболочку без входа в систему? Вы пытались вставить эти строки: ~/.bashrc вместо ~/.profile?

person Breathe    schedule 01.12.2017

Если вы просто запускаете локальный экземпляр, вы должны иметь возможность использовать переменные среды, как вы ожидаете. Помните, что вам нужно установить их в оболочке, на которой работают веб-сервер и планировщик. Если они есть в вашем .profile, вам может понадобиться запустить source ~/.profile.

person qfwfq    schedule 08.08.2018

Согласно этому ответу, переменные должны быть помещены в /etc/default/airflow (в Debian/Ubuntu) или /etc/sysconfig/airflow (в Centos/Redhat) .

person Tomasz Zielański    schedule 24.05.2021