强大的Airflow介绍及其手把手安装操作步骤(强大的airflow介绍及其手把手安装操作步骤)

一、先介绍一下 Airflow

Airflow是一个可编程,调度和监控的工作流平台,基于有向无环图(DAG),airflow可以定义一组有依赖的任务,按照依赖依次执行。airflow提供了丰富的命令行工具用于系统管控,而其web管理界面同样也可以方便的管控调度任务,并且对任务运行状态进行实时监控,方便了系统的运维和管理。

虽然Airflow的主要功能宗旨是数据工程和数据科学领域,但也可以根据需要将其扩展到业务流程审批等其他应用场景中。如:可以创建一个DAG(有向无环图),并将每个节点定义为审批步骤。当递交一个待审批的请求时,Airflow会按照您预先定义的顺序、时间间隔或其他条件来触发每个节点。该过程中,可以在Web UI上查看每个节点的状态,并发送电子邮件或其他通知来提醒相关用户进行审批或操作。另外,通过插件或自定义代码,还可以将Airflow与其他系统集成,从而实现更复杂的流程,例如自动化生成文件或自动化处理其它系统的数据。

二、主要功能包括以下方面:

1、DAG:通过python脚本描述任务依赖关系,形成有向无环图(DAG),将任务和依赖关系组织起来。您可以使用Airflow内置的Python库或者自己编写Python代码来创建DAG定义。

2、运行器(Executor):根据任务的类型和复杂程度,您可以选择不同的运行器来执行。Airflow提供了四种运行器:Sequential(顺序)、Local(本地)、Celery和Dask。这些运行器可以扩展至超过10万个任务,同时保持良好的性能表现。

3、任务调度:Airflow使用第三方插件-Beat Scheduler来安排和执行任务。该插件允许预定、执行、监控和重新执行DAG组成的工作流中的任务。

4、连接器(Connections):Airflow支持许多第三方连接器,可用于与各种数据源进行交互,例如AWS S3、Azure Blob Storage、Postgres、MySQLRedis等等。您可以轻松地将连接器配置到Airflow系统中,并通过Python代码来操作外部系统,以便在Airflow中基于数据流建立一个工作流。

5、触发器(Triggers): Airflow包含一组强大的触发器机制,可以允许您设置依赖放宽的级别。例如,如果您希望等待另一个DAG完成或在特定条件下才启动任务,Airflow可以提供灵活的触发器工具。

6、任务状态监控:Airflow捕获运行时日志记录,并将其存储到关系数据库中。您可以使用命令行界面或Web UI来轻松查看日志和监控进度,以及重新启动失败的任务或重新安排错过的任务。

7、扩展功能:Airflow拥有丰富的API接口,您可以使用REST API进行管理、监视和调用任务。还有许多扩展插件可用于实现更高级的功能,例如Jupyter Notebooks支持等。

8、Airflow的主要功能是帮助数据工程师和数据科学家通过代码来组织复杂的数据管道,以及管理和监控这些管道中的任务和依赖项

三、安装步骤:

1、更新包列表

sudo apt update

2、更新已安装的包

sudo apt upgrade

3、python设定

安装python3.8

sudo apt-get install python3.8

sudo apt-get install python3-pip python3-venv

删除原来python依赖

sudo rm /usr/bin/python3

更换默认python3 的版本为3.8

sudo ln -s /usr/bin/python3.8 /usr/bin/python3

4、安装 python 虚拟环境

mkdir /opt/airflow_venv

sudo chown -R ubuntu.ubuntu /opt/airflow_venv

python3 -m venv airflow_venv

如果一直无法创建虚拟环境需要安装python3.8-venv

sudo apt-get install python3.8-venv

激活虚拟环境

source /opt/airflow_venv/bin/activate

5、为了确保Airflow能够找到必要的文件和依赖项,请运行以下命令以设置AIRFLOW_HOME环境变量:

export AIRFLOW_HOME=/opt/airflow

同时最好能将其添加到 ~/.bashrc 文件中,以便永久保存这些设置。

sudo pico ~/.bashrc

在空行或者末尾添加

export AIRFLOW_HOME=/opt/airflow

然后保存退出

确认环境变量是否已成功设置。需要关闭当前窗口再打开运行以下命令:

echo $AIRFLOW_HOME

6、安装airflow

pip3 install apache-airflow -i https://pypi.tuna.tsinghua.edu.cn/simple

通过pip安装的可以,通过pip show apache-airflow来查看安装路径

7、初始化数据库【如果不更换数据库,就可以直接初始化】

airflow db init


8、官方建议更换数据库,现改为mysql

8.1、安装

sudo apt-get update #更新包

sudo apt install mysql-server-5.7

查看mysql的版本:mysql -V

8.2、设置mysql密码

mysql -u root -p

刚安装后是没有密码的,可直接回车进入

CREATE USER 'airflow'@'%' IDENTIFIED BY 'qw****21';

需要对用户进行授权

GRANT all ON *.* TO 'airflow'@'%';

退出sql,使密码生效

sudo mysql_secure_installation

同时为了能远程访问,需要修改

打开MySQL配置文件my.cnf,并找到bind-address选项。这通常位于/etc/mysql/mysql.conf.d/mysqld.cnf文件中

#bind-address = 127.0.0.1

bind-address = 0.0.0.0

8.3、重启mysql

sudo service mysql restart

8.4、安装mysql驱动

sudo apt install -y mysql-client

sudo apt-get install libmysqlclient-dev

sudo apt install libssl-dev

sudo apt install libcrypto -dev

sudo apt install libmysqlclient-dev

pip install mysqlclient

一直报#include "Python.h" ^~~~~~~~~~ compilation terminated. error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1,发现安装了sudo apt-get install python3-dev,安装了python3.8-dev才能解决

sudo apt-get install python3.8-dev

pip3 install 'apache-airflow[mysql]'

修改airflow的数据连接

pico /opt/airflow/airflow.cfg

找到以下位置,把原来的sql_alchemy_conn注释,然后添加新连接

[database]

#sql_alchemy_conn = sqlite:////opt/airflow/airflow.db

sql_alchemy_conn=mysql://username:mypassword@localhost/airflow_db


8.5、初始化数据库

airflow db init

8.6、创建用户

airflow users create –username 账号 –firstname 姓 –lastname 名字 –role Admin –email asd@xxx.com

9、启动airflow

source /opt/airflow_venv/bin/activate

airflow webserver -p 8080 -D

10、启动调度程序

airflow scheduler -D

加参数D,是守护进程运行,不占用窗体

强大的Airflow介绍及其手把手安装操作步骤(强大的airflow介绍及其手把手安装操作步骤)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月16日 下午2:16
下一篇 2024年5月16日 下午2:28

相关推荐

  • 项目楼宇智能化管理系统包括oa

    项目楼宇智能化管理系统包括oa,是一种集智能化建筑、信息安全保障、数字化管理、网络通信等多种技术于一体的系统。该系统可以帮助建筑管理者对楼宇进行有效的管理,提高建筑的安全性、节能性…

    科研百科 2025年1月28日
    1
  • 无痛内镜科研项目介绍

    无痛内镜科研项目介绍 近年来,随着医疗技术的不断发展和进步,无痛内镜项目已经成为医疗界备受关注的话题之一。该项目旨在通过使用无痛技术,让患者在舒适的环境下接受检查和治疗,从而提高患…

    科研百科 2025年4月8日
    2
  • 普通科研项目

    普通科研项目简介 科研项目是科学家们不断探索未知领域的过程,是推动科学技术发展的重要力量。普通科研项目则是那些没有特别突出研究意义的项目,但又需要满足一些基本的研究要求。 普通科研…

    科研百科 2025年2月10日
    3
  • 督查项目化管理系统

    督查项目化管理系统 随着信息技术的不断发展,企业项目管理也在逐渐数字化。督查项目化管理系统是一种新兴的项目管理工具,能够帮助企业更好地管理项目,提高项目的效率和质量。本文将探讨督查…

    科研百科 2024年12月18日
    2
  • 科研项目信息都包括什么

    科研项目信息都包括什么 科研项目是一个科学项目,通常由一个科学家团队设计和实施,旨在解决某个科学问题或满足某个科学需求。科研项目的信息通常包括以下几个方面: 1. 研究主题和研究问…

    科研百科 2025年4月13日
    2
  • 广西天等县市场监管局推进党建融入食品安全监管全过程,不断提升食品安全社会共治共建共享效能

    中国质量新闻网讯 广西天等县市场监督管理局以开展清廉天等建设和干部作风建设攻坚提升年活动为契机,以新思路、新机制,高质量推进党建融入食品安全监管全过程,健全完善农村食品安全信息通报…

    科研百科 2023年1月22日
    305
  • 银监会科研项目

    银监会科研项目 近年来,随着银行业的不断发展,银监会作为银行业的监管机构也发挥着越来越重要的作用。为了促进银行业的健康发展,银监会推出了一系列科研项目,旨在深入探讨银行业的前沿技术…

    科研百科 2025年2月20日
    3
  • crm电销管理软件

    CRM电销管理软件:打造高效电销团队的利器 随着电话销售行业的不断发展,电销团队的规模也在不断地扩大。然而,传统的电销方式在提高销售额的同时,也面临着许多问题,比如:客户信息管理混…

    科研百科 2025年1月2日
    3
  • 足浴店管理规定(足浴店管理规定 公安)

    足疗沐足运营管理智慧 一、盯单规定 1、当养生师从房间下钟后,不论该房间是否还有其他养生师在上钟 都应盯单,等该房间最后一名养生师下钟后则由最后一名下钟养生 师负责盯单。 2、若房…

    科研百科 2024年1月25日
    145
  • 评审科研项目意见

    评审科研项目意见 在评审科研项目时,我们不仅要关注项目的质量和成果,还要关注其创新性、实用性和可行性。在此基础上,我们给出具体的意见和建议,帮助项目更好地实现目标。 首先,我们需要…

    科研百科 2025年2月21日
    5