У меня работает Airflow с CeleryExecutor
и 2 работниками. Когда мой DAG запускается, задачи генерируют журнал в файловой системе работника, который их запускал. Но когда я захожу в веб-интерфейс и нажимаю на журналы задач, я получаю:
*** Log file does not exist: /usr/local/airflow/logs/test_dag/task2/2019-11-01T18:12:16.309655+00:00/1.log
*** Fetching from: http://70953abf1c10:8793/log/test_dag/task2/2019-11-01T18:12:16.309655+00:00/1.log
*** Failed to fetch log file from worker. HTTPConnectionPool(host='70953abf1c10', port=8793): Max retries exceeded with url: /log/test_dag/task2/2019-11-01T18:12:16.309655+00:00/1.log (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f329c3a2650>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
http://70953abf1c10:8793/
, очевидно, не правильный IP-адрес работника. Тем не менее, celery@70953abf1c10
- это имя этого работника в Сельдерее. Кажется, что Airflow пытается узнать URL-адрес работника из Celery, но вместо этого Celery дает имя работника. Как я могу решить это?