skala ut med selleri¶

CeleryExecutor är ett av de sätt du kan skala ut antalet arbetare. För att detta ska fungera måste du ställa in en selleri-backend (RabbitMQ, Redis, …) och ändra din airflow.cfg för att peka executor-parametern tillCeleryExecutor och ange de relaterade selleri-inställningarna.

för mer information om att skapa en Sellerimäklare, seutmattande selleri dokumentation om ämnet.

här är några tvingande krav för dina arbetare:

  • airflow måste installeras, och CLI måste vara i vägen

  • Luftflödeskonfigurationsinställningarna ska vara homogena över klustret

  • operatörer som körs på arbetstagaren måste ha sina beroenden i det sammanhanget. Om du till exempel använder HiveOperatormåste hive CLI installeras på den rutan, eller om du använderMySqlOperator måste det nödvändiga Python-biblioteket vara tillgängligt i PYTHONPATH på något sätt

  • arbetaren måste ha tillgång till dess DAGS_FOLDER, och du måstesynkronisera filsystemen på egen hand. En vanlig inställning skulle vara att lagra din DAGS_FOLDER i ett Git-arkiv och synkronisera det över maskiner medchef, Puppet, Ansible eller vad du än använder för att konfigurera maskiner i din miljö. Om alla dina rutor har en gemensam monteringspunkt, med yourpipelines filer delas det bör fungera också

för att sparka av en arbetare måste du ställa in luftflödet och sparka av workersubcommand

airflow worker

din arbetare bör börja plocka upp uppgifter så snart de får sparken idess riktning.

Observera att du också kan köra “selleri blomma”, ett webbgränssnitt byggt ovanpå selleri,för att övervaka dina arbetare. Du kan använda genvägskommandot airflow flowerför att starta en Flower-webbserver.

Observera att du måste ha flower python-biblioteket redan installerat på ditt system. Det rekommenderade sättet är att installera airflow selleri bunt.

pip install 'apache-airflow'

några varningar:

  • se till att använda en databas backed resultat backend

  • se till att ställa in en tidsgräns för synlighet som överstiger ETA för din längsta aktivitet

  • uppgifter kan konsumera resurser. Se till att din arbetare har tillräckligt med resurser för att köra worker_concurrency-uppgifter

  • könamn är begränsade till 256 tecken, men varje mäklare backend kan ha sina egna begränsningar

Lämna ett svar

Din e-postadress kommer inte publiceras.