The usual instructions for running Airflow do not apply on a Windows environment:
# airflow needs a home, ~/airflow is the default, # but you can lay foundation somewhere else if you prefer # (optional) export AIRFLOW_HOME=~/airflow # install from pypi using pip pip install airflow # initialize the database airflow initdb # start the web server, default port is 8080 airflow webserver -p 8080
The Airflow utility is not available in the command line and I can't find it elsewhere to be manually added. How can Airflow run on Windows?
In this guide, I will show you how to run Apache Airflow on Windows without Docker using Windows Subsystem for Linux (WSL). Let's dive in. The first thing to do is to enable Windows Subsystem Linux on the windows machine. To do this, go to Settings ->Apps->Programs and Features ->Turn Windows Features on or off.
Three Basic Options
I went through a few iterations of this problem and documented them as I went along. The three things I tried were:
Note that if you want to get it running as a Linux service, it is not possible for option number 2. It is possible for option number 3, but I didn't do it as it requires activating privileged containers in docker (which I wan't aware of when I started). Also, running a service in Docker is kind of against paradigm as each container should be a single process/unit of responsibility anyway.
Detailed Description of #2 - WSL Option
If you're gong for option 2, the basic steps are:
python3 -version
).sudo apt-get install software-properties-common
sudo apt-add-repository universe
sudo apt-get update
sudo apt-get install python-pip
(or python3-pip
for Python 3)export SLUGIFY_USES_TEXT_UNIDECODE=yes
pip install apache-airflow
(or pip3
for Python 3)airflow initdb
After this, you should be good to go! The blog has more detail on many of these steps and rough timelines for how long setting up WSL takes, etc - so if you have a hard time dive in there some more.
I'm runnig airflow on windows 10 using docker.
1) First you need to install docker on your windows .
2) Run command docker version
from command prompt if you get output means docker installed succesfuuly
2) Then you need to pull airflow image using command docker pull puckel/docker-airflow
3) Next step is to run image docker run -d -p 8080:8080 puckel/docker-airflow webserver
4) This will run airflow and you can access webui at localhost:8080
5) To copy dags use this command docker cp sample_dag.py containerName:/usr/local/airflow/dags
To access airflow utility you need to access the bash shell of container . you can do so using docker exec -it containerName bash
. Once you inside bash shell you can run command line utilities ex **airflow list_dags**
Hope it helps
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With