Airflow task 指定执行的worker节点

1、airflow.cfg:executor = CeleryExecutor

2、启动worker时添加-q 队列名:airflow celery worker -q kettle_carte

shell = BashOperator(
    task_id = 'shell',
    queue = '队列名',
    bash_command = 'date ',
    dag = dag)

worker可以指定一个或多个任务队列。启动工作程序时(使用命令airflow worker),可以指定一组用逗号分隔的队列名称(例如airflow worker -q spark)。然后,此worker将仅执行指定队列的任务。

也就是说我们在启动这个节点上的worker的时候,加一个参数 -q test_spark,但是在airflow.cfg中不做修改,被标志test_spark的任务将会在这个节点上执行,并且在元数据中,queue列也会显示test_spark,而其他没有定义队列的task,将会按照airflow.cfg中default_queue参数配置进行,也就是说并不是这个worker打了test_spark的标签就只能执行带有test_spark队列标签的任务,只是这样的任务一定会在这个worker执行,其他task会按照airflow.cfg中定义的进行。

你可能感兴趣的:(airflow,big,data,大数据)