Airflow介绍及实战步骤

新知榜官方账号

2023-09-18 18:48:32

概述

Airflow是一个我们正在用的工作流调度器,相对于传统的crontab任务管理,Airflow很好的为我们理清了复杂的任务依赖关系、监控任务执行的情况。我们喜欢它是因为它写代码太容易了,也便于调试、维护和继承重用,而不是像xml那样的配置文件用来描述DAG。通过SQL和HQL的临时查询,我们还可以快速生成前端图表,而且顺带连数据的API接口也都生成了,这几乎要让的Web开发工程师失业了。当然Airflow还支持移动端显示,只要收藏页面,我们就可以实现"移动监控"。

功能总览

  1. 任务调度系统:DAGs强大的任务调度与管理调度代码一览无余
  2. 数据剖析配置SQL语句,以及作图的option图表自动生成API数据自动生成将当前的图表地址http://localhost:8080/admin/airflow/chart?chart_id=2&iteration_no=40替换成http://localhost:8080/admin/airflow/chart_data?chart_id=2&iteration_no=40即可返回json数据如果对API数据自动生成不够满意,还可以轻松地对源代码自行定制。
  3. 监控管理任务日志任务监控调度配置化
  4. 权限管理系统配置用户管理数据源管理

实战步骤

  1. 安装Airflow
    docker pull airflow
  2. 修改默认路径
    这里如果不修改路径,默认的配置就是~/airflow
    临时修改AIRFLOW_HOME环境变量,这里的/home/airflow可以替换成你想要的文件夹目录
    export AIRFLOW_HOME=/home/airflow
    永久修改环境变量
    echo "export AIRFLOW_HOME=/home/airflow" >> /etc/profile
    source /etc/profile
    系统默认的配置文件是从airflow包的configuration.py文件中获取的,在设置了路径和airflow.cfg之后,配置将由airflow.cfg所替代。
  3. 修改默认数据库
    找到配置文件
    vi /home/airflow/airflow.cfg
    修改sql配置
    sql_alchemy_conn=mysql://root:FinanceR@localhost:3306/airflow
    注意到,之前使用的mysql+driver://root:FinanceR@localhost:3306/airflow的方式是行不通的。
  4. 初始化服务器的数据库
    airflow initdb
    airflow webserver就可以开启后台管理界面,默认访问localhost:8080即可。
  5. 修改数据源配置
    通过create按钮,添加相应的参数
  6. 解决中文字符集显示问题
    注意到airflow的所有.py文件都声明了utf-8字符集
    #-*-coding:utf-8-*- 如果需要显示中文,需要在extra选项中添加{"charset":"utf8"}的配置

本页网址:https://www.xinzhibang.net/article_detail-12202.html

寻求报道,请 点击这里 微信扫码咨询

关键词

Airflow 任务调度 监控管理

分享至微信: 微信扫码阅读

相关工具

相关文章