skaalaus sellerillä¶
CeleryExecutor
on yksi tapa voit skaalata työntekijöiden määrä. Tätä työtä varten sinun täytyy asettaa Sellerituki (RabbitMQ, Redis,…) ja vaihtaa airflow.cfg
osoittaaksesi executor-parametrin arvoonCeleryExecutor
ja antaa siihen liittyvät Selleriasetukset.
lisätietoa Sellerinvälittäjän perustamisesta löytyy aiheesta tehdystä kattavasta Selleridokumentista.
Tässä muutamia pakottavia vaatimuksia työntekijöillesi:
-
airflow
on asennettava, ja CLI on oltava polku -
ilmavirran asetusasetusten tulisi olla yhtenäiset koko klusterissa
-
työntekijään kohdistuvat toiminnanharjoittajat tarvitsevat tässä yhteydessä riippuvaisuutensa. Esimerkiksi, jos käytät
HiveOperator
, hive CLI on asennettava kyseiseen ruutuun, tai jos käytätMySqlOperator
, vaaditun Python-kirjaston on oltava saatavillaPYTHONPATH
jotenkin -
työntekijällä on oltava pääsy sen
DAGS_FOLDER
, ja sinun on synkronoitava tiedostojärjestelmät omin keinoin. Yleinen asennus olisi tallettaa DAGS_FOLDERISI git-arkistoon ja synkronoida se koneiden kesken käyttäen chef -, Puppet -, Oppable-tai mitä tahansa, mitä käytät koneiden määrittämiseen ympäristössäsi. Jos kaikki laatikot on yhteinen liitospiste, ottaa yourpipelines tiedostot jaettu siellä pitäisi toimia samoin
voit käynnistää työntekijän, sinun täytyy setup Airflow ja käynnistää workersubcommand
airflow worker
työntekijän pitäisi alkaa poimia tehtäviä heti, kun he saavat potkut sen suuntaan.
huomaa, että voit käyttää myös sellerin päälle rakennettua” Sellerinkukkaa”, joka seuraa työntekijöitäsi. Voit käyttää pikakuvaketta airflow flower
Flower web Serverin käynnistämiseen.
huomaa, että järjestelmääsi on jo asennettu flower
python-kirjasto. Suositeltava tapa on asentaa airflow selleri nippu.
pip install 'apache-airflow'
joitakin varoituksia:
-
varmista, että käytät tietokannan tukena tulosohjain
-
varmista, että asetat näkyvyyden aikakatkaisun, joka ylittää pisimmän käynnissä olevan tehtäväsi ETA-ajan
-
tehtävät voivat kuluttaa resursseja. Varmista, että työntekijälläsi on tarpeeksi resursseja worker_concurrency-tehtävien suorittamiseen
-
jonojen nimet on rajoitettu 256 merkkiin, mutta jokaisella broker-taustajärjestelmällä voi olla omat rajoituksensa