skalowanie za pomocą selera¶

CeleryExecutor jest jednym ze sposobów skalowania liczby pracowników. Aby to zrobić, musisz skonfigurować backend selera (RabbitMQ, Redis,…) i zmienić airflow.cfg, aby wskazać parametr executor naCeleryExecutor i podać powiązane ustawienia selera.

aby uzyskać więcej informacji na temat zakładania brokera selerowego, zapoznaj się z dokumentacją exhaustive seler na ten temat.

oto kilka podstawowych wymagań dla Twoich pracowników:

  • airflow musi być zainstalowany, a CLI musi być na ścieżce

  • ustawienia konfiguracji przepływu powietrza powinny być jednorodne w całym klastrze

  • operatorzy, którzy są wykonywani na pracowniku, muszą mieć w tym kontekście swoje zależności. Na przykład, jeśli używaszHiveOperator,hive CLI musi być zainstalowany na tym polu, lub jeśli używasz MySqlOperator, wymagana biblioteka Pythona musi być dostępna w PYTHONPATH w jakiś sposób

  • worker musi mieć dostęp do swojego DAGS_FOLDER, a ty musisz zsynchronizować systemy plików własnymi środkami. Powszechną konfiguracją będzie przechowywanie DAGS_FOLDER w repozytorium Git i synchronizowanie go między maszynami używającymi chef, Puppet, Ansible lub czegokolwiek, czego używasz do konfigurowania maszyn w yourenvironment. Jeśli wszystkie Twoje skrzynki mają wspólny punkt montowania, współdzielenie plików z pipelinami powinno również zadziałać

aby uruchomić pracownika, musisz skonfigurować przepływ powietrza i uruchomić polecenie workersubcommand

airflow worker

Twój pracownik powinien zacząć odbierać zadania, gdy tylko zostaną zwolnione w jego kierunku.

zauważ, że możesz również uruchomić” selerowy kwiat”, interfejs internetowy zbudowany na selerze, aby monitorować swoich pracowników. Możesz użyć polecenia skrótu airflow flower, aby uruchomić serwer WWW Flower.

pamiętaj, że musisz mieć bibliotekę Pythona flower już zainstalowaną w Twoim systemie. Zalecanym sposobem jest zainstalowanie pakietu selera z przepływem powietrza.

pip install 'apache-airflow'

niektóre zastrzeżenia:

  • upewnij się, że używasz backendu wyników z bazą danych

  • pamiętaj, aby ustawić limit czasu widoczności przekraczający ETA twojego najdłużej działającego zadania

  • zadania mogą zużywać zasoby. Upewnij się, że twój pracownik ma wystarczająco dużo zasobów, aby uruchomić zadania worker_concurrency

  • nazwy kolejek są ograniczone do 256 znaków, ale każdy backend brokera może mieć własne ograniczenia

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.