3
我是新來的Airflow。將任務分配給具有氣流的特定機器
我有一個DAG,其中包含應該在特定機器上運行的任務(在我的情況下爲EMR集羣)。我怎樣才能知道氣流在哪裏運行特定任務,以便每次運行時都會在該機器上這樣做?
我是新來的Airflow。將任務分配給具有氣流的特定機器
我有一個DAG,其中包含應該在特定機器上運行的任務(在我的情況下爲EMR集羣)。我怎樣才能知道氣流在哪裏運行特定任務,以便每次運行時都會在該機器上這樣做?
使用隊列名稱在該機器上運行您的worker。在氣流CLI,你可以這樣做:
airflow worker -q my_queue
然後定義任務使用隊列:
task = PythonOperator(
task_id='task',
python_callable=my_callable,
queue='my_queue',
dag=dag)
將運行'氣流工人-q my_queue'採取羣集上的所有處理器的優勢?或者你需要運行多個'airflow worker'命令 – David
我想你需要在每個單獨的盒子上啓動一個工作者,至少如果使用芹菜。如果使用Mesos,我不確定。 – jhnclvr
假設我添加了另一個'airflow worker'到混音中,我是否需要在airflow.cfg中編輯'celeryd_concurrency',如果我添加了一個比以前定義的併發值更多的worker?或者我可以簡單地用'airflow worker -c 12'覆蓋它(如果我加載了一個有12個併發線程的盒子) – David