Luftstrom Aufgaben stecken an in der "Warteschleife" - status und wird nie laufen
Ich bin mit der Airflow-v1.8.1 und führen Sie alle Komponenten (Arbeiter -, web -, Blumen -, scheduler) auf kubernetes & Andockfenster.
Ich verwende Sellerie Testamentsvollstrecker mit Redis und meine Aufgaben sind wie folgt aussieht:
(start) -> (do_work_for_product1)
├ -> (do_work_for_product2)
├ -> (do_work_for_product3)
├ …
Also die start
Aufgabe mehrere downstreams.
Und ich setup Parallelität bezogene Konfiguration wie folgt:
parallelism = 3
dag_concurrency = 3
max_active_runs = 1
Dann, wenn ich dieses DAG manuell (nicht sicher, wenn es passiert nie auf eine geplante Aufgabe) , einige downstreams hingekriegt, aber die anderen stecken in der "Warteschleife" - status.
Wenn ich klar die Aufgabe von Admin UI, wird Sie ausgeführt.
Es gibt keine Arbeitnehmer-log (nach Bearbeitung der ersten downstreams, es funktioniert einfach nicht die Ausgabe eines Protokolls).
Web-server-log (nicht sicher worker exiting
verbunden ist)
/usr/local/lib/python2.7/dist-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.cache is deprecated, use flask_cache instead.
.format(x=modname), ExtDeprecationWarning
[2017-08-24 04:20:56,496] [51] {models.py:168} INFO - Filling up the DagBag from /usr/local/airflow_dags
[2017-08-24 04:20:57 +0000] [27] [INFO] Handling signal: ttou
[2017-08-24 04:20:57 +0000] [37] [INFO] Worker exiting (pid: 37)
Ist es kein Fehler, melden Sie sich auf Planer zu. Und eine Reihe von Aufgaben zu stecken, ändert sich, wenn ich dies versuchen.
Weil ich auch verwenden das Andockfenster ich Frage mich, ob dies im Zusammenhang:
https://github.com/puckel/docker-airflow/issues/94
Aber so weit, keine Ahnung.
Hat jemand konfrontiert mit einem ähnlichen Problem oder eine Idee haben, was kann ich untersuchen für dieses Problem...?
- Hi @Norio, wir haben das ähnliche Problem, dass die Aufgaben in
queue
aber scheduler scheint, vergessen einige von Ihnen. Wenn ichairflow scheduler
wieder, dass Sie abgeholt worden sind. Ich bin auch mit 1.8.1, kubernetes und Docker, aber mit LocalExecutor gleiche Problem hier. - Danke für die info. Ich verwende das shell github.com/apache/incubator-airflow/blob/... automatisch neu starten-scheduler ohne sich auf k8s ' s wieder aus, also in meinem Fall scheduler sollte in regelmäßigen Abständen re-gespawnt aber nicht Holen einige Aufgaben für immer... sehr seltsam.
- super, vielen Dank für das teilen, sehr verdrahtet, ich halte Euch im loop, wenn ich was gefunden, aber wie es aussieht, ist dies die Lösung für jetzt.
- Ich habe ein ähnliches problem mit der Luftzirkulation und mit LocalExecutor. Mein setup ist ismilar zu der ein @Chengzhi hat. Hat irgendjemand finden, alles, was hier zu versuchen?
- Nur gelöst mein Fall, das scheint nicht so zu sein wie deins, aber es Wert ist zu teilen. Ich arbeitete mit den logs/ Ordner und ohne es zu merken, allen den Besitz der Ordner geändert. Aus diesem Grund Luftstrom nicht in der Lage war zu schreiben in log-Dateien und Aufgabe gehalten, stecken in der Warteschlange Stand. Ändern der Eigentumsrechte aller Dateien zurück zu
airflow
Benutzer brachte die Anwendung normal.sudo chown -R airflow:airflow logs/
- Bitte schauen Sie auf die stuck/in der Warteschlange task-Instanz-Protokolle und bieten diese. Wir sehen dies in unserer Umgebung, und es scheint, dass seine durch eine dagbag import-timeout, das passiert, wenn der server zu sehr ausgelastet ist. Siehe auch diesen bug: issues.apache.org/jira/browse/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aufgaben stecken, ist höchstwahrscheinlich ein bug. Im moment (<= 1.9.0alpha1) es kann passieren, wenn eine Aufgabe gar nicht beginnen, bis auf die (remote -) Arbeiter. Dies geschieht beispielsweise im Falle eines überlasteten Arbeiter oder fehlende Abhängigkeiten.
Diese patch sollte beheben, dass Problem.
Ist es eine Untersuchung Wert, warum Sie Ihre Aufgaben nicht bekommen, den Status " wird AUSGEFÜHRT. Die Einstellung selbst zu diesem Zustand ist das erste, was eine Aufgabe hat. Normalerweise werden die Arbeiter nicht anmelden, bevor es beginnt mit der Ausführung und auch Berichte und Fehler. Sie sollten in der Lage sein zu finden, die Einträge dafür in der Aufgabe melden.
Bearbeiten: Wie erwähnt wurde in den comments auf die ursprüngliche Frage in Fall ein Beispiel der Luftstrom nicht in der Lage, eine Aufgabe auszuführen ist, wenn es nicht schreiben kann, zu den erforderlichen Standorten. Dies macht es nicht in der Lage zu gehen und Aufgaben stecken. Der patch behebt dieser nicht den task aus dem scheduler.
Haben wir eine Lösung, und wollen teilen, es hier vor dem 1.9 wird offiziell. Vielen Dank für Bolke de Bruin updates auf 1.9. in meiner situation, bevor 1.9, derzeit sind wir mit 1.8.1 ist ein anderes DAG ausführen, um klar die Aufgabe in
queue state
wenn es bleibt dort für über 30 Minuten.Ich habe auf der gleichen docker image puckel. Mein Problem wurde gelöst durch :
Ersetzen
mit
denen ich denke, dass ist aktualisiert in der neuesten pull von puckel. Die änderung wurde zurückgesetzt, um im Februar 2018 und dein Kommentar war im Januar.
airflow dag_state spark_python
, aber ich bin der Begegnung folgende Fehlermeldung:airflow.exceptions.AirflowConfigException: error: cannot use sqlite with the CeleryExecutor
haben Sie eine Idee, warum kann ich nicht laufenBitte versuchen
airflow scheduler
,airflow worker
Befehl.Ich denke
airflow worker
ruft jede Aufgabeairflow scheduler
Anrufe zwischen zwei Aufgaben.