Сервер планировщика воздушного потока не работает

Я запустил команду airflow scheduler, она работает.

Ниже приведен мой служебный код планировщика воздушного потока.

[Unit] Description=Airflow scheduler daemon After=network.target postgresql.service rabbitmq-server.service Wants=postgresql.service rabbitmq-server.service [Service] EnvironmentFile=/home/ubuntu/airflow User=ubuntu Group=ubuntu Type=simple ExecStart=/bin/airflow scheduler -n ${SCHEDULER_RUNS} Restart=always RestartSec=5s [Install] WantedBy=multi-user.target

Однако он не работает, когда я запускаю воздушный поток, планировщик. Я получаю следующую ошибку:

May 25 21:11:37 ip-11-210-11-108 systemd[1]: airflow-scheduler.service: Service hold-off time over, scheduling restart. May 25 21:11:37 ip-11-210-11-108 systemd[1]: Stopped Airflow scheduler daemon. -- Subject: Unit airflow-scheduler.service has finished shutting down -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit airflow-scheduler.service has finished shutting down. May 25 21:11:37 ip-11-210-11-108 systemd[1]: airflow-scheduler.service: Failed to load environment files: No such file or directory May 25 21:11:37 ip-11-210-11-108 systemd[1]: airflow-scheduler.service: Failed to run 'start' task: No such file or directory May 25 21:11:37 ip-11-210-11-108 systemd[1]: Failed to start Airflow scheduler daemon. -- Subject: Unit airflow-scheduler.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit airflow-scheduler.service has failed. -- -- The result is failed. May 25 21:11:37 ip-11-210-11-108 systemd[1]: airflow-scheduler.service: Unit entered failed state. May 25 21:11:37 ip-11-210-11-108 systemd[1]: airflow-scheduler.service: Failed with result 'resources'.

У меня нет опыта systemd. Что такое SCHEDULER_RUNS? Как настроить его?

0
задан 26 May 2017 в 00:38

2 ответа

В вашем файле systemd есть эта строка

EnvironmentFile=/home/ubuntu/airflow

Предполагается, что она должна указывать на EnvironmentFile, который используется systemd для хранения некоторых переменных. Похоже, вы указали на домашний каталог воздушного потока.

Он должен указывать на файл с именем airflow, внутри которого должна быть переменная для SCHEDULER RUNS. См. Файл воздушного потока здесь: https://github.com/apache/incubator-airflow/tree/master/scripts/systemd

У вас также есть эта ошибка: не удалось запустить задачу «начать»: нет таких файл или каталог

Это относится к этой строке: ExecStart=/bin/airflow scheduler -n ${SCHEDULER_RUNS}

Эта строка говорит, что для запуска /bin/airflow, который я предполагаю, не существует на вашем компьютере. Вероятно, это в /usr/local/bin/airflow или где-то в этом роде. Вы можете запустить which airflow, чтобы увидеть свое фактическое установленное местоположение. Вы могли бы добавить символическую ссылку для нее, чтобы / bin / airflow указывали на ваше фактическое местоположение, но не нужно чрезмерно усложнять его, по крайней мере, сначала работать. Только что проверенные, видимо, символические ссылки действительно работают в systemd https://github.com/apache/incubator-airflow/tree/master/scripts/systemd

0
ответ дан 18 July 2018 в 12:43

В вашем файле systemd есть эта строка

EnvironmentFile=/home/ubuntu/airflow

Предполагается, что она должна указывать на EnvironmentFile, который используется systemd для хранения некоторых переменных. Похоже, вы указали на домашний каталог воздушного потока.

Он должен указывать на файл с именем airflow, внутри которого должна быть переменная для SCHEDULER RUNS. См. Файл воздушного потока здесь: https://github.com/apache/incubator-airflow/tree/master/scripts/systemd

У вас также есть эта ошибка: не удалось запустить задачу «начать»: нет таких файл или каталог

Это относится к этой строке: ExecStart=/bin/airflow scheduler -n ${SCHEDULER_RUNS}

Эта строка говорит, что для запуска /bin/airflow, который я предполагаю, не существует на вашем компьютере. Вероятно, это в /usr/local/bin/airflow или где-то в этом роде. Вы можете запустить which airflow, чтобы увидеть свое фактическое установленное местоположение. Вы могли бы добавить символическую ссылку для нее, чтобы / bin / airflow указывали на ваше фактическое местоположение, но не нужно чрезмерно усложнять его, по крайней мере, сначала работать. Только что проверенные, видимо, символические ссылки действительно работают в systemd https://github.com/apache/incubator-airflow/tree/master/scripts/systemd

0
ответ дан 24 July 2018 в 20:01

Другие вопросы по тегам:

Похожие вопросы: