2017-11-09 3 views
0

Ich versuchte mit ENV-Variable, um Verbindungs-URLs zu konfigurieren, habe ich eine AMI, die mit Alchemy_conn und Broker_URL usw. vorkonfiguriert ist, habe ich Umgebungsvariablen in/etc/environment in den Instanzen aus hochgesponnen Die Amis überschreiben die Eigenschaften in der Datei "airflow.cfg". Ich konnte auch von Python-Code auf die Variablen zugreifen.Airflow-Konfiguration in Umgebungsvariable funktioniert nicht

Aber es ist nicht zu übernehmen scheint, während ariflow ausgeführt wird, versucht auch, den Prozess neu zu starten, aber hat nicht funktioniert, es immer noch auf die in airflow.cfg Datei

+0

Was sind die tatsächlichen Variablen, die Sie verwenden? Nicht ihre Werte, sondern ihre Namen. Z.B. AIRFLOW_ALCHEMY_URL, CELERY_BROKER_URL usw. – jhnclvr

Antwort

2

Das Problem ist wahrscheinlich, dass das System Dienste übernehmen nicht automatisch die Umgebung von /etc/environment, die nur für interaktive Sitzungen ist.

Wenn Sie verwenden systemd Sie EnvironmentFile=/etc/environment hinzufügen können, wenn mehr "typisch" wäre, die dienstspezifische config in /etc/default/airflow setzen (auf Debian/Ubuntu) oder /etc/sysconfig/airflow (auf Centos/Redhat)

Das Beispiel systemd Skripte von Airflow haben dies bereits für Centos: https://github.com/apache/incubator-airflow/blob/faa9a5266c0b2e68693dd106b5cb46d30770dadc/scripts/systemd/airflow-webserver.service#L20

Verwandte Themen