Windows 10 рд╡рд░ Apache Airflow рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЕрдиреБрднрд╡ рдШреНрдпрд╛

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛: рдирд╢рд┐рдмрд╛рдЪреНрдпрд╛ рдЗрдЪреНрдЫреЗрдиреЗ, рд╢реИрдХреНрд╖рдгрд┐рдХ рд╡рд┐рдЬреНрдЮрд╛рди (рдФрд╖рдз) рдЪреНрдпрд╛ рдЬрдЧрд╛рддреВрди рдореА рд╕реНрд╡рддрдГрд▓рд╛ рдорд╛рд╣рд┐рддреА рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреНрдпрд╛ рдЬрдЧрд╛рдд рд╕рд╛рдкрдбрд▓реЗ, рдЬрд┐рдереЗ рдорд▓рд╛ рдкреНрд░рдпреЛрдЧ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдмрджреНрджрд▓рдЪреЗ рдорд╛рдЭреЗ рдЬреНрдЮрд╛рди рдЖрдгрд┐ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдбреЗрдЯрд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдзреЛрд░рдгреЗ рд╡рд╛рдкрд░рд╛рдпрдЪреА рдЖрд╣реЗрдд, рддрдерд╛рдкрд┐, рд▓рд╛рдЧреВ рдХрд░рд╛ рдПрдХ рддрдВрддреНрд░рдЬреНрдЮрд╛рди рд╕реНрдЯреЕрдХ рдЬреЛ рдорд╛рдЭреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рдЖрд╣реЗ. рдпрд╛ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рд╡рд░ рдкреНрд░рднреБрддреНрд╡ рдорд┐рд│рд╡рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд, рдорд▓рд╛ рдЕрдиреЗрдХ рдЕрдбрдЪрдгреА рдпреЗрддрд╛рдд, рдЬреНрдпрд╛ рд╕реБрджреИрд╡рд╛рдиреЗ рдЖрддрд╛рдкрд░реНрдпрдВрдд рджреВрд░ рдЭрд╛рд▓реНрдпрд╛ рдЖрд╣реЗрдд. рдХрджрд╛рдЪрд┐рдд рд╣реЗ рдкреЛрд╕реНрдЯ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓ рдЬреЗ рдиреБрдХрддреЗрдЪ Apache рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░рд╡рд╛рдд рдХрд░рдд рдЖрд╣реЗрдд.

рддрд░, рдмрд┐рдВрджреВрдкрд░реНрдпрдВрдд. рдкреНрд░реЗрд░рдгрд╛ рджрд┐рд▓реА рд▓реЗрдЦ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рдСрдЯреЛрдореЗрд╢рдирдЪреНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдд рдЕрдкрд╛рдЪреЗ рдПрдЕрд░рдлреНрд▓реЛрдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрдмрджреНрджрд▓ рдпреБрд░реА рдПрдореЗрд▓реНрдпрд╛рдиреЛрд╡реНрд╣, рдорд▓рд╛ рдорд╛рдЭреНрдпрд╛ рдХрд╛рдорд╛рдд рд▓рд╛рдпрдмреНрд░рд░реАрдВрдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдВрдЪ рд╡рд╛рдкрд░рдгреЗ рд╕реБрд░реВ рдХрд░рд╛рдпрдЪреЗ рд╣реЛрддреЗ. рдЬреНрдпрд╛рдВрдирд╛ рдЕрджреНрдпрд╛рдк рдЕрдкрд╛рдЪреЗ рдПрдЕрд░рдлреНрд▓реЛрдЪреА рдЕрдЬрд┐рдмрд╛рдд рдорд╛рд╣рд┐рддреА рдирд╛рд╣реА рддреНрдпрд╛рдВрдирд╛ рдПрдХ рд▓рд╣рд╛рди рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрд╡рдбреЗрд▓ рд▓реЗрдЦ рд░рд╛рд╖реНрдЯреНрд░реАрдп рдЧреНрд░рдВрдерд╛рд▓рдпрд╛рдЪреНрдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╡рд░. рдПрди. рдИ. рдмрд╛рдЙрдорди.

рд╡рд┐рдВрдбреЛрдЬ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдПрдЕрд░рдлреНрд▓реЛ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреНрдпрд╛ рдиреЗрд╣рдореАрдЪреНрдпрд╛ рд╕реВрдЪрдирд╛ рд▓рд╛рдЧреВ рд╣реЛрдд рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ, рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рд╛ рдбреЙрдХрд░ рдорд╛рдЭреНрдпрд╛ рдмрд╛рдмрддреАрдд рддреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрд╕реЗрд▓, рдореА рдЗрддрд░ рдЙрдкрд╛рдп рд╢реЛрдзреВ рд▓рд╛рдЧрд▓реЛ. рдорд╛рдЭреНрдпрд╛ рд╕реБрджреИрд╡рд╛рдиреЗ, рдореА рдпрд╛ рдорд╛рд░реНрдЧрд╛рд╡рд░ рдкрд╣рд┐рд▓рд╛ рдирд╡реНрд╣рддреЛ, рдореНрд╣рдгреВрди рдореА рдПрдХ рдЕрджреНрднреБрдд рд╢реЛрдзрдгреНрдпрд╛рдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдЭрд╛рд▓реЛ рд╡реНрд╣рд┐рдбрд┐рдУ рд╕реВрдЪрдирд╛ рдбреЙрдХрд░ рди рд╡рд╛рдкрд░рддрд╛ Windows 10 рд╡рд░ Apache Airflow рдХрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рд╛рд╡реЗ. рдкрд░рдВрддреБ, рдЬрд╕реЗ рдЕрдиреЗрдХрджрд╛ рдШрдбрддреЗ, рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЪрд░рдгрд╛рдВрдЪреЗ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛рдирд╛, рдЕрдбрдЪрдгреА рдЙрджреНрднрд╡рддрд╛рдд рдЖрдгрд┐, рдорд╛рдЭрд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ, рдХреЗрд╡рд│ рдорд╛рдЭреНрдпрд╛рд╕рд╛рдареАрдЪ рдирд╛рд╣реА. рдореНрд╣рдгреВрди, рдореА рдЕрдкрд╛рдЪреЗ рдПрдЕрд░рдлреНрд▓реЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдорд╛рдЭреНрдпрд╛ рдЕрдиреБрднрд╡рд╛рдмрджреНрджрд▓ рдмреЛрд▓реВ рдЗрдЪреНрдЫрд┐рддреЛ, рдХрджрд╛рдЪрд┐рдд рдпрд╛рдореБрд│реЗ рдПрдЦрд╛рджреНрдпрд╛рдЪрд╛ рдереЛрдбрд╛ рд╡реЗрд│ рд╡рд╛рдЪреЗрд▓.

рдЪрд▓рд╛ рд╕реВрдЪрдирд╛рдВрдЪреНрдпрд╛ рдЪрд░рдгрд╛рдВрдордзреВрди рдЬрд╛рдКрдпрд╛ (рд╕реНрдкреЙрдпрд▓рд░ - 5 рд╡реНрдпрд╛ рдкрд╛рдпрд░реАрд╡рд░ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдареАрдХ рдЭрд╛рд▓реЗ):

1. рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгрд╛рдЪреНрдпрд╛ рдирдВрддрд░рдЪреНрдпрд╛ рд╕реНрдерд╛рдкрдиреЗрд╕рд╛рдареА рд▓рд┐рдирдХреНрд╕рд╕рд╛рдареА рд╡рд┐рдВрдбреЛрдЬ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ

рддреЗ рдореНрд╣рдгрддрд╛рдд рддреНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рд╣реА рд╕рд░реНрд╡рд╛рдд рдХрдореА рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ:

рдХрдВрдЯреНрд░реЛрд▓ рдкреЕрдирд▓ тЖТ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ тЖТ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрдгрд┐ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ тЖТ рд╡рд┐рдВрдбреЛрдЬ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЪрд╛рд▓реВ рдХрд┐рдВрд╡рд╛ рдмрдВрдж рдХрд░рд╛ тЖТ рд▓рд┐рдирдХреНрд╕рд╕рд╛рдареА рд╡рд┐рдВрдбреЛрдЬ рд╕рдмрд╕рд┐рд╕реНрдЯрдо

2. рддреБрдордЪреНрдпрд╛ рдЖрд╡рдбреАрдЪреЗ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛

рдореА рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд╛рдкрд░рд▓реЗ рдЙрдмрдВрдЯреВ.

3. рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЖрдгрд┐ рдЕрдкрдбреЗрдЯ рдкрд┐рдк

sudo apt-get install software-properties-common
sudo apt-add-repository universe
sudo apt-get update
sudo apt-get install python-pip

4. рдЕрдкрд╛рдЪреЗ рдПрдЕрд░рдлреНрд▓реЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ

export SLUGIFY_USES_TEXT_UNIDECODE=yes
pip install apache-airflow

5. рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрд░рдВрднреАрдХрд░рдг

рдЖрдгрд┐ рдЗрдереВрдирдЪ рдорд╛рдЭреНрдпрд╛ рдЫреЛрдЯреНрдпрд╛ рдЕрдбрдЪрдгреАрдВрдирд╛ рд╕реБрд░реБрд╡рд╛рдд рдЭрд╛рд▓реА. рд╕реВрдЪрдирд╛рдВрдордзреНрдпреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдорд╛рдВрдб рдПрдВрдЯрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ airflow initdb рдЖрдгрд┐ рдкреБрдвреАрд▓ рдЪрд░рдгрд╛рд╡рд░ рдЬрд╛. рддрдерд╛рдкрд┐, рдорд▓рд╛ рдиреЗрд╣рдореАрдЪ рдЙрддреНрддрд░ рдорд┐рд│рд╛рд▓реЗ airflow: command not found. рдЕрдкрд╛рдЪреЗ рдПрдЕрд░рдлреНрд▓реЛрдЪреНрдпрд╛ рд╕реНрдерд╛рдкрдиреЗрджрд░рдореНрдпрд╛рди рдЕрдбрдЪрдгреА рдЙрджреНрднрд╡рд▓реНрдпрд╛ рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реНрд╕ рдЙрдкрд▓рдмреНрдз рдирд╛рд╣реАрдд рдЕрд╕реЗ рдорд╛рдирдгреЗ рддрд░реНрдХрд╕рдВрдЧрдд рдЖрд╣реЗ. рд╕рд░реНрд╡рдХрд╛рд╣реА рдЬреЗрдереЗ рдЕрд╕рд╛рд╡реЗ рддреЗрдереЗ рдЖрд╣реЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдореА рдПрдЕрд░рдлреНрд▓реЛ рдлрд╛рдЗрд▓рдЪрд╛ рд╕рдВрдкреВрд░реНрдг рдорд╛рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛ (рддреЗ рдЕрд╕реЗ рджрд┐рд╕рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ: ╨Я╨╛╨╗╨╜╤Л╨╣/╨┐╤Г╤В╤М/╨┤╨╛/╤Д╨░╨╣╨╗╨░/airflow initdb). рдкрдг рдЪрдорддреНрдХрд╛рд░ рдШрдбрд▓рд╛ рдирд╛рд╣реА рдЖрдгрд┐ рдЙрддреНрддрд░ рдПрдХрдЪ рд╣реЛрддрдВ airflow: command not found. рдореА рдлрд╛рдЗрд▓рдЪрд╛ рд╕рд╛рдкреЗрдХреНрд╖ рдорд╛рд░реНрдЧ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛ (./.local/bin/airflow initdb), рдЬреНрдпрд╛рдореБрд│реЗ рдирд╡реАрди рддреНрд░реБрдЯреА рдЖрд▓реА ModuleNotFoundError: No module named json'рд▓рд╛рдпрдмреНрд░рд░реА рдЕрджреНрдпрдпрд╛рд╡рдд рдХрд░реВрди рддреНрдпрд╛рд╡рд░ рдорд╛рдд рдХрд░рддрд╛ рдпреЗрддреЗ рд╕рд╛рдзрди (рдорд╛рдЭреНрдпрд╛ рдмрд╛рдмрддреАрдд рдЖрд╡реГрддреНрддреА 0.15.4 рдкрд░реНрдпрдВрдд):

pip install werkzeug==0.15.4

рдЖрдкрдг werkzeug рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рд╡рд╛рдЪреВ рд╢рдХрддрд╛ рдпреЗрдереЗ.

рдпрд╛ рд╕рд╛рдзреНрдпрд╛ рд╣рд╛рддрд╛рд│рдгреАрдирдВрддрд░ рдЖрджреЗрд╢ ./.local/bin/airflow initdb рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдкреВрд░реНрдг рдЭрд╛рд▓реЗ.

6. рдПрдЕрд░рдлреНрд▓реЛ рд╕рд░реНрд╡реНрд╣рд░ рд▓рд╛рдБрдЪ рдХрд░рдгреЗ

рдПрдЕрд░рдлреНрд▓реЛрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрдбрдЪрдгреАрдВрдЪрд╛ рд╣рд╛ рдЕрдВрдд рдирд╛рд╣реА. рдЖрджреЗрд╢ рдЪрд╛рд▓рд╡рдд рдЖрд╣реЗ ./.local/bin/airflow webserver -p 8080 рдкрд░рд┐рдгрд╛рдореА рддреНрд░реБрдЯреА рдЖрд▓реА No such file or directory. рдХрджрд╛рдЪрд┐рдд, рдПрдХ рдЕрдиреБрднрд╡реА рдЙрдмрдВрдЯреВ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реВрди рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрд╢рд╛ рдЕрдбрдЪрдгреАрдВрд╡рд░ рдорд╛рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрд▓. export PATH=$PATH:~/.local/bin/ (рдореНрд╣рдгрдЬреЗ, /.local/bin/ рд▓рд╛ рд╡рд┐рджреНрдпрдорд╛рди PATH рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рд╢реЛрдз рдорд╛рд░реНрдЧрд╛рд╡рд░ рдЬреЛрдбрдгреЗ), рдкрд░рдВрддреБ рд╣реЗ рдкреЛрд╕реНрдЯ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рдЖрд╣реЗ рдЬреЗ рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ Windows рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд рдЖрдгрд┐ рдХрджрд╛рдЪрд┐рдд рд╣реЗ рд╕рдорд╛рдзрд╛рди рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ рдЕрд╕реЗ рддреНрдпрд╛рдВрдирд╛ рд╡рд╛рдЯрдд рдирд╛рд╣реА.

рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╣рд╛рддрд╛рд│рдгреАрдирдВрддрд░, рдЖрджреЗрд╢ ./.local/bin/airflow webserver -p 8080 рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдкреВрд░реНрдг рдЭрд╛рд▓реЗ.

7.URL: localhost: 8080 /

рдЬрд░ рдорд╛рдЧреАрд▓ рдЯрдкреНрдкреНрдпрд╛рдд рд╕рд░реНрд╡ рдХрд╛рд╣реА рдареАрдХ рдЭрд╛рд▓реЗ рддрд░ рддреБрдореНрд╣реА рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рд╢рд┐рдЦрд░реЗ рдЬрд┐рдВрдХрдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдЖрд╣рд╛рдд.

рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА Windows 10 рд╡рд░ Apache Airflow рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛рдирд╛ рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓рд╛ рдЕрдиреБрднрд╡ рдирд╡рд╢рд┐рдХреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓ рдЖрдгрд┐ рдЖрдзреБрдирд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╢реНрд╡рд╛рдд рддреНрдпрд╛рдВрдЪрд╛ рдкреНрд░рд╡реЗрд╢ рдЬрд▓рдж рд╣реЛрдИрд▓.

рдкреБрдврдЪреНрдпрд╛ рд╡реЗрд│реА рдореА рд╡рд┐рд╖рдп рдЪрд╛рд▓реВ рдареЗрд╡реВ рдЗрдЪреНрдЫрд┐рддреЛ рдЖрдгрд┐ рдореЛрдмрд╛рдЗрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд╡рд░реНрддрдирд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдд Apache Airflow рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрдиреБрднрд╡рд╛рдмрджреНрджрд▓ рдмреЛрд▓реВ рдЗрдЪреНрдЫрд┐рддреЛ.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛