2017-04-20 30 views
3

我是新来气流并尝试设置气流来运行ETL管道。我能够安装气流:已排队但未运行的任务

  1. 气流
  2. Postgres的
  3. 芹菜
  4. 的RabbitMQ

我能够试运行turtorial DAG。当我尝试安排这些作业时,调度程序能够将其选中并将我可以在UI上看到的作业排队,但任务未运行。有人能帮我解决这个问题吗?我相信我错过了这里最基本的气流概念。下面是airflow.cfg

这里是我的配置文件:

[core] 

airflow_home = /root/airflow 

dags_folder = /root/airflow/dags 

base_log_folder = /root/airflow/logs 

executor = CeleryExecutor 

sql_alchemy_conn = postgresql+psycopg2://xxxx.amazonaws.com:5432/airflow 

api_client = airflow.api.client.local_client 


[webserver] 


web_server_host = 0.0.0.0 

web_server_port = 8080 

web_server_worker_timeout = 120 

worker_refresh_batch_size = 1 

worker_refresh_interval = 30 

[celery] 

celery_app_name = airflow.executors.celery_executor 

celeryd_concurrency = 16 

worker_log_server_port = 8793 

broker_url = amqp://rabbit:[email protected]/rabbitmq_vhost 

celery_result_backend = db+postgresql+psycopg2://postgres:[email protected]:5432/airflow 


flower_host = 0.0.0.0 

flower_port = 5555 

default_queue = default 

DAG:This is the tutorial dag i used

和我的DAG的开始日期是 - '开始日期':日期时间(2017年,4, 11),

+0

确保您的工作人员和调度共享相同的'celery_result_backend',同样的'dags_folder'和相同的'broker_url' – jhnclvr

+0

@勒·霍夫曼我确信芹菜结果后端,DAG文件夹和broker_url相同的调度和工人,并开始气流工作人员......但它仍然是一样的......工作即将进行但没有任何运行 –

回答

5

有你运行的所有气流的三个组成部分,即:

airflow webserver 
airflow scheduler 
airflow worker 

如果只运行前两项,则任务将排队,但不会执行。气流工作人员将提供实际执行dag的工作人员。

也顺便说一句,芹菜4.0.2目前不兼容气流1.7或1.8。使用芹菜3代替。

+0

非常感谢!我降低了芹菜。有用。 –

+0

当然可以。我很高兴这很有帮助。XD –

+1

@XiaWang - 您能否指出任何支持文档或其他证明芹菜4.0.2不兼容的文档?在apache github repo setup.py中,芹菜版本> = 3.1.17 - 它并没有告诉我们它是否被支持。 – Nick

0

我今天试着升级到airflow v1.8,并与芹菜和rabbitmq一起挣扎。什么帮助来自librabbitmq的变化(这是在默认情况下只使用AMQP时使用)在airflow.cfg到pyamqp

broker_url = pyamqp://rabbit:[email protected]/rabbitmq_vhost 

(这是我得到了这个想法:https://github.com/celery/celery/issues/3675

0

我知道你的问题已经得到解答,并与芹菜版本不匹配有关,但我也看到任务排队并且从不运行,因为我将日志位置更改为气流服务用户无权写入的地方。

在该示例在上面的问题airflow.cfg给出: base_log_folder = /root/airflow/logs

我使用AWS EC2机和改变日志写入 base_log_folder = /mnt/airflow/logs

在UI没有给出指示为什么任务排队,它只是说“未知,所有依赖性都满足......”给气流守护进程/服务用户写入权限修复它。

相关问题