Esta es la respuesta más válida que te podemos aportar, pero primero estúdiala detenidamente y analiza si es compatible a tu proyecto.
Solución:
Tres opciones básicas
Revisé algunas iteraciones de este problema y las documenté a medida que avanzaba. Las tres cosas que probé fueron:
- Instale Airflow directamente en Windows 10: este intento falló.
- Instale Airflow en Windows 10 WSL con Ubuntu: funcionó muy bien. Tenga en cuenta que WSL es un subsistema de Windows para Linux, que puede obtener de forma gratuita en la tienda de Windows.
- Instale Airflow en Windows 10 a través de Docker + Centos. Esto también funcionó muy bien.
Tenga en cuenta que si desea que se ejecute como un servicio de Linux, no es posible para la opción número 2. Es posible para la opción número 3, pero no lo hice porque requiere activar contenedores privilegiados en Docker (que quiero No sé cuándo empecé). Además, ejecutar un servicio en Docker va en contra del paradigma, ya que cada contenedor debe ser un solo proceso/unidad de responsabilidad de todos modos.
Descripción detallada de #2 – Opción WSL
Si vas por la opción 2, los pasos básicos son:
- Obtenga WSL Ubuntu instalado y abierto.
- Verifique que viene con python 3.6.5 más o menos (
python3 -version
). - Suponiendo que todavía lo haga, agregue estos paquetes para que la instalación de PIP funcione.
sudo apt-get install software-properties-common
sudo apt-add-repository universe
sudo apt-get update
- Instalar pip con:
sudo apt-get install python-pip
(opython3-pip
para pitón 3)
- Ejecute los siguientes 2 comandos para instalar el flujo de aire:
export SLUGIFY_USES_TEXT_UNIDECODE=yes
pip install apache-airflow
(opip3
para pitón 3)
- Abra una nueva terminal (me sorprendió, pero esto parecía ser necesario).
- Inicie la base de datos de flujo de aire:
airflow initdb
¡Después de esto, deberías estar listo para irte! El blog tiene más detalles sobre muchos de estos pasos y cronogramas aproximados sobre cuánto tiempo lleva configurar WSL, etc., por lo que si tiene dificultades, sumérjase un poco más.
En lugar de instalar Airflow a través de pip, descargue el zip en GitHub del proyecto Airflow, descomprímalo y en su carpeta, ejecute python setup.py install
en la línea de comando. ERROR - 'module' object has no attribute 'SIGALRM'
ocurrirán errores, pero hasta ahora esto no tuvo impacto en las funciones de Airflow.
Con este método, la utilidad de flujo de aire no estará disponible como comando. Como solución temporal, utilice el [current folder]buildscripts-2.7airflow
archivo, que es el script de python para la utilidad de flujo de aire.
Otra solución es agregar a la variable PATH del sistema un enlace a un archivo por lotes que ejecuta airflow (airflow.bat):
python C:pathtoairflow %*
A partir de este punto, el tutorial se puede seguir con normalidad:
airflow init
airflow webserver -p 8080
No he probado qué tan bien o si los DAG de Airflow se ejecutan en Windows.
Estoy ejecutando el flujo de aire en Windows 10 usando la ventana acoplable.
1) Primero debe instalar la ventana acoplable en sus ventanas.
2) Ejecutar comando docker version
desde el símbolo del sistema, si obtiene una salida, significa que la ventana acoplable se instaló correctamente
2) Luego, debe extraer la imagen del flujo de aire usando el comando docker pull puckel/docker-airflow
3) El siguiente paso es ejecutar la imagen docker run -d -p 8080:8080 puckel/docker-airflow webserver
4) Esto ejecutará el flujo de aire y puede acceder a webui en localhost: 8080
5) Para copiar dags usa este comando docker cp sample_dag.py containerName:/usr/local/airflow/dags
Para acceder a la utilidad de flujo de aire, debe acceder al shell bash del contenedor. puedes hacerlo usando docker exec -it containerName bash
. Una vez que esté dentro de bash shell, puede ejecutar las utilidades de la línea de comandos, por ejemplo. **airflow list_dags**
Espero eso ayude
Recuerda recomendar este escrito si te fue útil.