рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛: рдирд╢рд┐рдмрд╛рдЪреНрдпрд╛ рдЗрдЪреНрдЫреЗрдиреЗ, рд╢реИрдХреНрд╖рдгрд┐рдХ рд╡рд┐рдЬреНрдЮрд╛рди (рдФрд╖рдз) рдЪреНрдпрд╛ рдЬрдЧрд╛рддреВрди рдореА рд╕реНрд╡рддрдГрд▓рд╛ рдорд╛рд╣рд┐рддреА рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреНрдпрд╛ рдЬрдЧрд╛рдд рд╕рд╛рдкрдбрд▓реЗ, рдЬрд┐рдереЗ рдорд▓рд╛ рдкреНрд░рдпреЛрдЧ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдмрджреНрджрд▓рдЪреЗ рдорд╛рдЭреЗ рдЬреНрдЮрд╛рди рдЖрдгрд┐ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдбреЗрдЯрд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдзреЛрд░рдгреЗ рд╡рд╛рдкрд░рд╛рдпрдЪреА рдЖрд╣реЗрдд, рддрдерд╛рдкрд┐, рд▓рд╛рдЧреВ рдХрд░рд╛ рдПрдХ рддрдВрддреНрд░рдЬреНрдЮрд╛рди рд╕реНрдЯреЕрдХ рдЬреЛ рдорд╛рдЭреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рдЖрд╣реЗ. рдпрд╛ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рд╡рд░ рдкреНрд░рднреБрддреНрд╡ рдорд┐рд│рд╡рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд, рдорд▓рд╛ рдЕрдиреЗрдХ рдЕрдбрдЪрдгреА рдпреЗрддрд╛рдд, рдЬреНрдпрд╛ рд╕реБрджреИрд╡рд╛рдиреЗ рдЖрддрд╛рдкрд░реНрдпрдВрдд рджреВрд░ рдЭрд╛рд▓реНрдпрд╛ рдЖрд╣реЗрдд. рдХрджрд╛рдЪрд┐рдд рд╣реЗ рдкреЛрд╕реНрдЯ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓ рдЬреЗ рдиреБрдХрддреЗрдЪ Apache рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░рд╡рд╛рдд рдХрд░рдд рдЖрд╣реЗрдд.
рддрд░, рдмрд┐рдВрджреВрдкрд░реНрдпрдВрдд. рдкреНрд░реЗрд░рдгрд╛ рджрд┐рд▓реА
рд╡рд┐рдВрдбреЛрдЬ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдПрдЕрд░рдлреНрд▓реЛ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреНрдпрд╛ рдиреЗрд╣рдореАрдЪреНрдпрд╛ рд╕реВрдЪрдирд╛ рд▓рд╛рдЧреВ рд╣реЛрдд рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ, рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рд╛
рдЪрд▓рд╛ рд╕реВрдЪрдирд╛рдВрдЪреНрдпрд╛ рдЪрд░рдгрд╛рдВрдордзреВрди рдЬрд╛рдКрдпрд╛ (рд╕реНрдкреЙрдпрд▓рд░ - 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:
рдЬрд░ рдорд╛рдЧреАрд▓ рдЯрдкреНрдкреНрдпрд╛рдд рд╕рд░реНрд╡ рдХрд╛рд╣реА рдареАрдХ рдЭрд╛рд▓реЗ рддрд░ рддреБрдореНрд╣реА рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рд╢рд┐рдЦрд░реЗ рдЬрд┐рдВрдХрдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдЖрд╣рд╛рдд.
рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА Windows 10 рд╡рд░ Apache Airflow рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛рдирд╛ рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓рд╛ рдЕрдиреБрднрд╡ рдирд╡рд╢рд┐рдХреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓ рдЖрдгрд┐ рдЖрдзреБрдирд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╢реНрд╡рд╛рдд рддреНрдпрд╛рдВрдЪрд╛ рдкреНрд░рд╡реЗрд╢ рдЬрд▓рдж рд╣реЛрдИрд▓.
рдкреБрдврдЪреНрдпрд╛ рд╡реЗрд│реА рдореА рд╡рд┐рд╖рдп рдЪрд╛рд▓реВ рдареЗрд╡реВ рдЗрдЪреНрдЫрд┐рддреЛ рдЖрдгрд┐ рдореЛрдмрд╛рдЗрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд╡рд░реНрддрдирд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдд Apache Airflow рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрдиреБрднрд╡рд╛рдмрджреНрджрд▓ рдмреЛрд▓реВ рдЗрдЪреНрдЫрд┐рддреЛ.
рд╕реНрддреНрд░реЛрдд: www.habr.com