一.前言
初到一家创业公司,环境艰苦,什么都得自己搭建
二.安装
当前系统: Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-48-generic x86_64)
1.初始化: pip install apache-airflow
可能会出的BUG,pip数据源过于慢或者下载出错,这种情况下用阿里云或者清华大学pip数据源代替;某些公司内外网隔离的环境下,运维是否给配置了外网IP,否则表现为一直等待或者报错;内网情况可以选择离线安装方式,具体操作可参考下列资料中;pip install airflow为旧版本初始化,现在已经不支持了。执行:pip3 install apache-airflow/pip install apache-airflow的时候会报如下错误 ,请先初始化sudo apt-get install python3-dev/sudo apt-get install python-dev
2.初始化数据库:
参照官网使用pip install apache-airflow[all]初始化所有扩展支持,肯定会失败,会涉及到一系列的依赖,很容易陷入不停安装不同依赖的死循环之中,所以建议使用到什么初始化什么。
airflow默认启动的管理数据库sqlite,我这边选用mysql所以需要进行mysql相关环境安装:sudo apt-get install mysql mysql-server mysql-devel,pip install airflow[mysql],此处由于mysql版本依赖问题可能会报错,但是无非就是换高低版本问题;mysql环境搭建好后建一个airflow库,供work启动初始化写相关记录信息用;然后修改airflow.cfg中的sql_alchemy_conn,broker_url,result_backend字段关于airflow数据库连接信息:dialect+driver://username:password@host:port/database
再执行airflow initdb进行数据库的初始化,执行成功后airflow库会看到初始化的相关的表
3.启动服务
启动项设置
export PATH=$PATH:/home/ubuntu/.local/bin/
# 启动 webserver
nohup airflow webserver >>/home/ubuntu/airflow/logs/webserver.log 2>&1 &
# 启动调度程序
nohup airflow scheduler >>/home/ubuntu/airflow/logs/scheduler.log 2>&1 &
# 启动 Celery
nohup airflow worker >>/home/ubuntu/airflow/logs/worker.log 2>&1 &
接下来应该就能看到web配置界面了
三.WEB页面功能说明
DAG:dag_id
Schedule:调度时间
Owner:dag拥有者
Recent Tasks:这里包含9个圆圈,每个圆圈代表task的执行状态和次数
圈1 success:现实成功的task数,基本上就是该tag包含多少个task,这里基本上就显示几。
圈2 running:正在运行的task数
圈3 failed:失败的task数
圈4 unstream_failed:
圈5 skipped:跳过的task数
圈6 up_for_retry:执行失败的task,重新执行的task数
圈7 queued:队列,等待执行的task数
圈8 :
圈9 scheduled:刚开始调度dag时,这一次执行总共调度了dag下面多少个task数,并且随着task的执行成功,数值逐渐减少。
Last Run:dag最后执行的时间点
DAG Runs:这里显示dag的执行信息,包括3个圆圈,每个圆圈代表dag的执行状态和次数
圈1 success:总共执行成功的dag数,执行次数
圈2 runing:正在执行dag数
圈3 faild:执行失败的dag数
Links:
Code View: 查看任务执行代码
Logs :查看执行日志,比如失败原因
Refresh :刷新dag任务
Delete Dag :删除该dag任务
三.相关资料整理
1.官网
2.默认参数介绍
https://blog.csdn.net/ciqingloveless/article/details/88723944
3.默认模板代码介绍