相关疑难解决方法(0)

Airflow - 如何重新加载运算符和插件

我是 Airflow 的新手,当我更改代码时,我无法理解如何重新加载运算符/插件。我正在使用 LocalExecutor 和外部数据库 (MySql)。我尝试重新启动网络服务器和调度程序,但在导入 dags 时仍然遇到相同的错误:

    File "/home/ec2-user/airflow/dags/extractor.py", line 2, in <module>
    from airflow.contrib.operators.emr_spark_plugin import EmrSparkOperator
ImportError: No module named emr_spark_plugin
Run Code Online (Sandbox Code Playgroud)

airflow

5
推荐指数
2
解决办法
8483
查看次数

气流工人守护程序没有明显原因退出

我的Airflow 1.9在虚拟环境中运行,并使用Celery和Redis进行了设置,并且运行良好。但是,我想守护设置并使用此处的说明。它适用于Web服务器,调度程序和Flower,但不适用于Worker,这当然是所有功能的核心。我的airflow-worker.service文件如下所示:

[Unit]
Description=Airflow celery worker daemon
After=network.target postgresql.service mysql.service redis.service rabbitmq-server.service
Wants=postgresql.service mysql.service redis.service rabbitmq-server.service

[Service]
EnvironmentFile=/etc/default/airflow
User=root
Group=root
Type=simple
ExecStart=/bin/bash -c 'source /home/codingincircles/airflow-master/bin/activate ; airflow worker'
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我ExecStart按原样在CLI上运行命令,则该命令可以完美运行,并且可以运行任务,并且一切都很光荣。但是,当我执行时sudo service airflow-worker start,需要一段时间才能返回提示,并且Flower UI中没有任何显示。当我这样做时journalctl -u airflow-worker.service -e,这是我看到的:

systemd[1]: Started Airflow celery worker daemon.
bash[12392]: [2018-04-09 21:52:41,202] {driver.py:120} INFO - Generating grammar tables from /usr/lib/python3.5/lib2to3/Grammar.txt
bash[12392]: [2018-04-09 21:52:41,252] {driver.py:120} INFO - Generating grammar tables from /usr/lib/python3.5/lib2to3/PatternGrammar.txt
bash[12392]: [2018-04-09 …
Run Code Online (Sandbox Code Playgroud)

ubuntu worker systemd airflow

3
推荐指数
1
解决办法
1737
查看次数

标签 统计

airflow ×2

systemd ×1

ubuntu ×1

worker ×1