Soy nuevo en el flujo de aire y trato de configurar el flujo de aire para ejecutar canalizaciones ETL. pude instalar
Puedo probar ejecutar el tutorial dag. Cuando trato de programar los trabajos, el programador puede recogerlos y poner en cola los trabajos que pude ver en la interfaz de usuario, pero las tareas no se están ejecutando. ¿Alguien podría ayudarme a solucionar este problema?
Aquí está mi archivo de configuración:
[core] airflow_home = /root/airflow dags_folder = /root/airflow/dags base_log_folder = /root/airflow/logs executor = CeleryExecutor sql_alchemy_conn = postgresql+psycopg2://xxxx.amazonaws.com:5432/airflow api_client = airflow.api.client.local_client [webserver] web_server_host = 0.0.0.0 web_server_port = 8080 web_server_worker_timeout = 120 worker_refresh_batch_size = 1 worker_refresh_interval = 30 [celery] celery_app_name = airflow.executors.celery_executor celeryd_concurrency = 16 worker_log_server_port = 8793 broker_url = amqp://rabbit:rabbit@xxxx/rabbitmq_vhost celery_result_backend = db+postgresql+psycopg2://postgres:airflow@xxx.amazonaws.com:5432/airflow flower_host = 0.0.0.0 flower_port = 5555 default_queue = defaultDAG: Este es el tutorial dag que utilicé
y la fecha de inicio de mi dag es -- 'start_date': datetime(2017, 4, 11),
haga que ejecute los tres componentes del flujo de aire, a saber:
airflow webserver airflow scheduler airflow workerSi solo ejecuta los dos anteriores, las tareas se pondrán en cola, pero no se ejecutarán. airflow worker proporcionará los trabajadores que realmente ejecutan los dags.
Además, por cierto, el apio 4.0.2 no es compatible con el flujo de aire 1.7 o 1.8 actualmente. Use apio 3 en su lugar.
Intenté actualizar a airflow v1.8 hoy también y tuve problemas con celery y rabbitmq. Lo que ayudó fue el cambio de librabbitmq (que se usa de manera predeterminada cuando solo se usa amqp) a pyamqp en airflow.cfg
broker_url = pyamqp://rabbit:rabbit@xxxx/rabbitmq_vhost(Aquí es de donde saqué la idea: https://github.com/celery/celery/issues/3675 )
Me doy cuenta de que su problema ya se resolvió y estaba relacionado con una falta de coincidencia de la versión de apio, pero también vi tareas en cola y nunca se ejecutaron porque cambié la ubicación de los registros a un lugar donde el usuario del servicio de flujo de aire no tenía permiso para escribir.
En el ejemplo airflow.cfg dado en la pregunta anterior: base_log_folder = /root/airflow/logs
Estoy usando la máquina AWS EC2 y cambié los registros para escribir en base_log_folder = /mnt/airflow/logs
En la interfaz de usuario no hay ninguna indicación de por qué las tareas están en cola, solo dice "desconocido, se cumplen todas las dependencias ..." Se solucionó dando permiso al usuario del demonio/servicio de flujo de aire para escribir.