airflow local_task_job.py - задача завершена с кодом возврата -9 - PullRequest
1 голос
/ 13 января 2020

Я пытаюсь запустить apache поток воздуха в ECS, используя v1.10.5 версию apache / airflow , используя мою вилку airflow . Я использую переменные env для установки executor, Postgres и информации Redis для веб-сервера.

AIRFLOW__CORE__SQL_ALCHEMY_CONN="postgresql+psycopg2://airflow_user:airflow_password@postgres:5432/airflow_db"
AIRFLOW__CELERY__RESULT_BACKEND="db+postgresql://airflow_user:airflow_password@postgres:5432/airflow_db"
AIRFLOW__CELERY__BROKER_URL="redis://redis_queue:6379/1"
AIRFLOW__CORE__EXECUTOR=CeleryExecutor
FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho=
AIRFLOW__CORE__LOAD_EXAMPLES=False

Мои задачи случайно завершаются неудачно со следующей ошибкой

[2020-01-12 20:06:28,308] {ssh_utils.py:130} WARNING - 20/01/13 01:36:28 INFO db.IntegerSplitter: Split size: 134574; Num splits: 5 from: 2 to: 672873
[2020-01-12 20:06:28,449] {ssh_utils.py:130} WARNING - 20/01/13 01:36:28 INFO mapreduce.JobSubmitter: number of splits:5
[2020-01-12 20:06:28,459] {ssh_utils.py:130} WARNING - 20/01/13 01:36:28 INFO Configuration.deprecation: mapred.job.name is deprecated. Instead, use mapreduce.job.name
[2020-01-12 20:06:28,964] {ssh_utils.py:130} WARNING - 20/01/13 01:36:28 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1578859373494_0012
[2020-01-12 20:06:29,337] {ssh_utils.py:130} WARNING - 20/01/13 01:36:29 INFO impl.YarnClientImpl: Submitted application application_1578859373494_0012
[2020-01-12 20:06:29,371] {ssh_utils.py:130} WARNING - 20/01/13 01:36:29 INFO mapreduce.Job: The url to track the job: http://ip-XX-XX-XX-XX.ap-southeast-1.compute.internal:20888/proxy/application_1578859373494_0012/
[2020-01-12 20:06:29,371] {ssh_utils.py:130} WARNING - 20/01/13 01:36:29 INFO mapreduce.Job: Running job: job_1578859373494_0012
[2020-01-12 20:06:47,489] {ssh_utils.py:130} WARNING - 20/01/13 01:36:47 INFO mapreduce.Job: Job job_1578859373494_0012 running in uber mode : false
[2020-01-12 20:06:47,490] {ssh_utils.py:130} WARNING - 20/01/13 01:36:47 INFO mapreduce.Job:  map 0% reduce 0%
[2020-01-12 20:06:54,777] {logging_mixin.py:95} INFO - [[34m2020-01-12 20:06:54,777[0m] {[34mlocal_task_job.py:[0m105} INFO[0m - Task exited with return code -9[0m

Но когда я проверьте определенное приложение в интерфейсе EMR, которое отображается как успешно выполненное.

enter image description here

Моя конфигурация ECS выглядит следующим образом

airflow-worker

Пределы жесткой / мягкой памяти -> 2560/1024

Количество рабочих -> 3

airflow-webserver

Пределы жесткой / мягкой памяти -> 3072/1024

планировщик воздушного потока

Пределы жесткой / мягкой памяти -> 2048/1024

run_duration -> 86400

Что вызывает эту ошибку?

1 Ответ

2 голосов
/ 14 января 2020

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

Это старый график использования памяти относительно предела мягкой памяти

enter image description here

После изменения конфигурации рабочей памяти на 2560/5120, теперь это график использования памяти относительно предела мягкой памяти

enter image description here

...