Verwenden von systemd, um den Luftstrom in einer Conda-Umgebung zu betreiben
Ich habe einen Airflow-Server konfiguriert, der in einer Conda-Umgebung installiert ist, um geplante Automatisierungen auszuführen. Derzeit starte ich den Scheduler, die Worker und den Webserver direkt mit nohup
, aber ich möchte systemd verwenden, um es robuster zu verwalten.
Ich habe jedoch Probleme beim Starten des Systems mit systemctl start
. Ich fügte meiner .service
Datei folgendes hinzu:
ExecStartPre=. /etc/profile ; /home/shared/miniconda2/bin/conda activate airflow ExecStart=/home/shared/miniconda2/envs/airflow/bin/airflow webserver --pid /run/airflow/webserver.pid
(Wo shared/
ist kein Benutzer, nur ein Ordner, /home/
auf den alle Benutzer Zugriff haben)
ExecStart
setzt airflow
voraus, dass die Conda-Umgebung aktiviert ist, in der der Luftstrom tatsächlich installiert ist. Dazu fügte ich die beiden Befehle hinzu ExecStartPre
: Der zweite Befehl aktiviert diese Umgebung. Wenn Sie diese Einstellung alleine ausführen CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
, wird das erste Mal hinzugefügt, um sicherzustellen, dass /etc/profile.d/conda.sh
geladen wird.
Dies schlägt jedoch immer noch fehl, scheinbar beim Ausführen des Gunicorn-Servers:
Running the Gunicorn Server with: Workers: 4 sync Host: 0.0.0.0:8080 Timeout: 120 Logfiles: - - ================================================================= Traceback (most recent call last): File "/home/shared/miniconda2/envs/airflow/bin/airflow", line 28, in <module> args.func(args) File "/home/shared/miniconda2/envs/airflow/lib/python2.7/site-packages/airflow/bin/cli.py", line 844, in webserver gunicorn_master_proc = subprocess.Popen(run_args) File "/home/shared/miniconda2/envs/airflow/lib/python2.7/subprocess.py", line 390, in __init__ errread, errwrite) File "/home/shared/miniconda2/envs/airflow/lib/python2.7/subprocess.py", line 1025, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory
(Zeitstempel wurden weggelassen, um die Lesbarkeit etwas zu verbessern)
Dies wirft eine Reihe von Fragen auf:
- Was kann dazu führen, dass mein Dienst ausfällt?
- Ist mein Setup unsinnig (systemd + conda + airflow)?
- Wenn es unsinnig ist, gibt es einen besseren Weg, den Luftstrom robuster zu betreiben, als direkt zu starten? Ich interessierte mich besonders für die Optionen
enable
undrestart
Optionen, die systemd bietet.
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4