Sou*_*Raj 9 python python-3.x airflow airflow-scheduler
我是Airflow的新手。我正在尝试通过参考本文https://stlong0521.github.io/20161023%20-%20Airflow.html来使用Celery Executor设置气流的分布式模式
在详细讨论规范之前,我想确认我已经在一个单独的实例上安装了PostgreSQL。
该设置的规格详细说明如下:
气流核心/服务器计算机
在airflow.cfg中进行的配置:
sql_alchemy_conn = postgresql+psycopg2://username:password@192.168.2.12:5432/airflow
executor = CeleryExecutor
broker_url = amqp://username:password@192.168.1.12:5672//
celery_result_backend = db+postgresql://username:password@192.168.2.12:5432/airflow
Run Code Online (Sandbox Code Playgroud)
进行的测试:
RabbitMQ is running
Can connect to PostgreSQL and have confirmed that Airflow has created tables
Can start and view the webserver (including custom dags)
Run Code Online (Sandbox Code Playgroud)
气流工作者计算机
已安装以下内容:
airflow.cfg中进行的配置与服务器中的配置完全相同:
sql_alchemy_conn = postgresql+psycopg2://username:password@192.168.2.12:5432/airflow
executor = CeleryExecutor
broker_url = amqp://username:password@192.168.1.12:5672//
celery_result_backend = db+postgresql://username:password@192.168.2.12:5432/airflow
Run Code Online (Sandbox Code Playgroud)
在工作计算机上运行的命令的输出:
运行气流花时:
[2018-02-19 14:58:14,276] {__init__.py:57} INFO - Using executor CeleryExecutor
[2018-02-19 14:58:14,360] {driver.py:120} INFO - Generating grammar tables from /usr/lib/python3.5/lib2to3/Grammar.txt
[2018-02-19 14:58:14,384] {driver.py:120} INFO - Generating grammar tables from /usr/lib/python3.5/lib2to3/PatternGrammar.txt
[I 180219 14:58:15 command:139] Visit me at http://0.0.0.0:5555
[I 180219 14:58:15 command:144] Broker: amqp://username:password@192.168.1.12:5672//
[I 180219 14:58:15 command:147] Registered tasks:
['celery.accumulate',
'celery.backend_cleanup',
'celery.chain',
'celery.chord',
'celery.chord_unlock',
'celery.chunks',
'celery.group',
'celery.map',
'celery.starmap']
[I 180219 14:58:15 mixins:224] Connected to amqp://username:password@192.168.1.12:5672//
Run Code Online (Sandbox Code Playgroud)
我在Airflow Core计算机中传递了dag,并且我已经将dag将处理的示例数据(Excel表格)复制到同一台核心计算机上。
我的工人日志
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'airflow run dag_name_x task_name_xx 2018-02-19T10:15:41.657243 --local -sd /home/Distributedici/airflow/dags/sample_data_xx.py' returned non-zero exit status 1
现在我的查询是
1)我是否也应该将dag文件夹复制到工作计算机
2)现在,我还没有在工作计算机上复制dag文件夹,也看不到工作进程来接任务。
请指出我犯错的地方,以及如何使工作程序接起来。
Airflow 的一些最大痛点出现在部署以及在 Airflow 调度程序、Airflow Web 服务器和 Celery 工作节点之间保持 DAG 文件和插件同步。
\n\n我们创建了一个名为Astronomer Open的开源项目,它可以自动化 Docker 化的 Airflow、Celery 和 PostgreSQL,并融入了其他一些功能。该项目的动机是看到这么多人遇到相同的痛点,创建了一个非常相似的设置。
\n\n例如,这是 Airflow Dockerfile:https://github.com/astronomer/astronomer/blob/master/docker/airflow/1.10.2/Dockerfile
\n\n和文档: https: //open.astronomer.io/
\n\n全面披露:这是我在工作中贡献的一个项目\xe2\x80\x94,我们还提供在 Kubernetes 上运行的付费企业版(文档)。也就是说,开放版是完全免费使用的。
\n| 归档时间: |
|
| 查看次数: |
6570 次 |
| 最近记录: |