Воздушный поток Celery executor начинает проваливать задачи

#docker #celery #celery-task #airflow

Вопрос:

Мне нужна помощь, чтобы решить проблему с исполнителем сельдерея. Ниже моей архитектуры:

  • Воздушный поток 1.10.7
  • Планировщик воздушного потока, веб-сервер и рабочие, работающие в Docker через экземпляры AWS EC2
  • S3Fuse 1.89

Это скриншот, сделанный с сайта Flower:

введите описание изображения здесь

Кластер работает хорошо, но, по-видимому, без каких-либо причин все задачи, запланированные на работнике Сельдерея, начинают сбоить: из цветка я вижу, что они сразу же выходят из строя, и действительно, у меня нет никаких журналов, доступных из Airflow для этих задач.(Теперь работник сельдерея был удален вручную, но был работником с IP 10.228.142.52).

Все задачи не выполняются по одной и той же причине:

 Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/airflow/executors/celery_executor.py", line 67, in execute_command
    close_fds=True, env=env)
  File "/usr/local/lib/python3.7/subprocess.py", line 363, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['airflow', 'run', 'ingestion_tracker-all', 'ingestion_tracker', '2021-08-02T06:00:00 00:00', '--local', '--pool', 'batch_pool', '-sd', '/usr/local/airflow/dags/tracker-ingestion/tracker-all/tracker-all.py']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/celery/app/trace.py", line 385, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/celery/app/trace.py", line 650, in __protected_call__
    return self.run(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/airflow/executors/celery_executor.py", line 72, in execute_command
    raise AirflowException('Celery command failed')
airflow.exceptions.AirflowException: Celery command failed
 

Я думал, что проблема связана с конфигурацией работников воздушного потока и типом экземпляра, выбранным для них. Я изменяю конфигурацию, как показано ниже:

До: 20 работников (t3.маленькие) с 4 рабочими в валюте

После: 4 рабочих (t3.2xlarge) с 8 рабочими, чтобы параллелизм, полученный от рабочих сельдерея, соответствовал глобальному параллелизму, настроенному в Airflow (32), но через некоторое время проблема остается той же.

Я проверил экземпляр и сам докер, но, похоже, все в порядке с точки зрения доступной памяти и процессора, поэтому я действительно не знаю, в чем причина этих сбоев. Журналы докеров не дают мне никаких дополнительных сведений, кроме трассировки стека, опубликованной выше.

Любой намек будет оценен по достоинству, спасибо.