schalen met selderij¶

CeleryExecutor is een van de manieren om het aantal werknemers uit te schalen. Voor dit werk moet u een selderij-backend instellen (RabbitMQ, Redis, …) en uw airflow.cfg wijzigen om de uitvoerderparameter naarCeleryExecutor te verwijzen en de gerelateerde selderij-instellingen op te geven.

voor meer informatie over het opzetten van een Selderiemakelaar, zie deexhaustive seldery documentatie over het onderwerp.

hier zijn enkele dwingende vereisten voor uw werknemers:

  • airflow moet geïnstalleerd worden, en de CLI moet in het pad staan

  • de instellingen van de luchtstroomconfiguratie moeten homogeen zijn over het cluster

  • Operators die worden uitgevoerd op de werknemer moeten hun afhankelijkheidmet in die context. Als u bijvoorbeeld HiveOperatorgebruikt, moet de hive CLI op dat vak worden geïnstalleerd, of als uMySqlOperator gebruikt, moet de vereiste Python-bibliotheek op een of andere manier beschikbaar zijn in PYTHONPATH

  • de werknemer moet toegang hebben tot zijn DAGS_FOLDER, en je moet de bestandssystemen synchroniseren met je eigen middelen. Een veelvoorkomende setup zou zijn om je DAGS_FOLDER in een git repository op te slaan en te synchroniseren tussen machines met behulp van Chef, Puppet, Ansible, of wat je ook gebruikt om machines in je omgeving te configureren. Als al je boxen een gemeenschappelijk koppelpunt hebben, zou het ook moeten werken dat je pipeelines bestanden daar gedeeld worden.

om een werknemer af te trappen, moet u de luchtstroom instellen en de aftrap van het werkersubcommand

airflow worker

uw werknemer moet beginnen met het oppakken van taken zodra ze worden ontslagen in zijn richting.

merk op dat u ook “Selery Flower”, een web UI Gebouwd op de top van selderij,kunt uitvoeren om uw werknemers te controleren. U kunt de sneltoets airflow flowergebruiken om een Bloemenwebserver te starten.

houd er rekening mee dat u de flower python-bibliotheek al op uw systeem moet hebben geïnstalleerd. De aanbevolen manier is om de airflow selderij bundel te installeren.

pip install 'apache-airflow'

enkele kanttekeningen:

  • zorg ervoor dat u een database ondersteund resultaat backend gebruiken

  • zorg ervoor dat u een tijdslimiet voor zichtbaarheid instelt die de ETA van uw langst lopende taak overschrijdt

  • taken kunnen middelen verbruiken. Zorg ervoor dat uw werknemer genoeg middelen heeft om worker_concurrency taken uit te voeren

  • Wachtrijnamen zijn beperkt tot 256 tekens, maar elke broker-backend kan zijn eigen beperkingen

hebben

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.