Airflow组件介绍
Airflow只有一套代码,但是其中包含了多个组件:
- webserver:webserver是一个web服务,启动之后,可以提供可视化的界面来查看和管理dag。
- scheduler:scheduler是调度器,该服务不依赖webserver,调度器会调度执行任务
Airflow有本地部署(Running Airflow locally)和Docker部署(Running Airflow in Docker)两种方式,两种方式官网都有介绍
本地部署
环境要求
airflow是基于python开发的,所以,不管任何平台,先需要有python环境,版本要求可以去airflow官网查看,这里是python3.8.12,需要安装的版本是airflow2.1.3;
- Airflow需要一个home目录:
- 新建目录
~/airflow - 执行
export AIRFLOW_HOME=~/airflow
- 新建目录
- 安装airflow 呃,如果访问不了,可能需要想想办法了~
pip install apache-airflow==2.1.3 --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.1.3/constraints-3.8.txt"
- 初始化数据库 airflow默认使用的sqllite,我们需要做什么配置,只需执行如下命令:
airflow db init
airflow users create \
--username admin \
--firstname Peter \
--lastname Parker \
--role Admin \
--email xxx@163.com
其实到这里,我们已经安装好了airflow,如果需要手动执行任务的能力了,只是没有自动调度或者可视化界面,下面我们将两个服务启动
- 启动webserver
airflow webserver --port 8080
访问localhost:8080
- 启动scheduler
airflow scheduler
Docker部署
下载docker-compose.yml
$ curl -LO https://raw.githubusercontent.com/bitnami/bitnami-docker-airflow/master/docker-compose.yml
新建需要的目录&环境变量配置
$ mkdir -p ./dags ./logs ./plugins
$ echo -e "AIRFLOW_UID=$(id -u)\nAIRFLOW_GID=0" > .env
数据初始化
$ docker-compose up airflow-init
启动
$ docker-compose up
停止服务
$ docker-compose down --volumes --remove-orphans
访问localhos:8080
注意事项:
启动容器实例较多,注意内存是否够用
招聘
小红书,目前为数不多的靠谱的互联网独角兽,想上车的同学看过来呀~
急聘大数据开发、数据平台开发,其他部门岗位可以帮忙内推,求贤若渴...
感兴趣的留言加微信聊!!!