airflow安装及使用入门(linux)

这篇具有很好参考价值的文章主要介绍了airflow安装及使用入门(linux)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

airflow

概述

安装

安装python环境

安装Airflow

修改数据库为MySQL

修改执行器

配置邮件服务器

常用命令

airflow

概述

Airflow是一个以编程方式编写,安排和监视工作流的平台

主要用于任务调度的安排;使用Airflow将工作流编写任务的有向无环图(DAG)。Airflow计划程序在遵循指定的依赖项,同时在一组工作线程上执行任务

安装

官网:Apache Airflow

安装python环境

1.首先安装anaconda/miniconda

下载地址:

可以从官网下载 :Anaconda | Anaconda Distribution

airflow教程,linux,大数据,python,linux,大数据

下载完成后在命令行中安装即可

 bash Anaconda3-2022.10-Linux-x86_64.sh

二者的区别:

conda是一种通用包管理系统,旨在构建和管理任何语言和任何类型的软件。举个例子:包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。

Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,就是把很多常用的不常用的库都给你装好了。

Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。就只包含最基本的东西,其他的库得自己装。

随后加载环境变量配置文件,使其生效:

source ~/.bashrc

2.创建python3.8环境

首先配置国内镜像:

conda config --add channels Index of /anaconda/pkgs/free/ | 北京外国语大学开源软件镜像站 | BFSU Open Source Mirror

conda config --add channels Index of /anaconda/pkgs/main/ | 北京外国语大学开源软件镜像站 | BFSU Open Source Mirror

conda config --set show_channel_urls yes

创建python环境:

conda create --name airflow python=3.8

查看python版本:python -V

常用conda命令

禁止激活默认base环境:

conda config --set auto_activate_base false

创建环境:conda create -n env_name

查看所有环境:conda info --envs

删除一个环境:conda remove -n env_name --all

激活环境:conda activate airflow

退出当前环境:conda deactivate

安装Airflow

首先修改pip的源,下载速度更快:

pip install numpy -i Simple Index

然后创建pip的配置文件,使得修改的pip源生效:

sudo mkdir ~/.pip

sudo vim ~/.pip/pip.conf

添加以下内容:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

安装airflow:pip install "apache-airflow==2.4.3"

airflow教程,linux,大数据,python,linux,大数据

出现上图所示标识,则说明安装的pip源已经生效;

初始化airflow:airflow db init

创建账号:

airflow users create \
--username admin \
--firstname why \
--lastname why \
--role Admin \
--email 3323929507@qq.com

密码:123456

查看版本:airflow version

启动airflow web服务:airflow webserver -p 8089 -D(为防止8080端口被占用,选用不常用的端口)airflow教程,linux,大数据,python,linux,大数据

启动airflow调度:airflow scheduler -D

airflow教程,linux,大数据,python,linux,大数据

启动之后可以看到许多默认的调度示例(如上);

启停脚本:

#!/bin/bash

case $1 in
"start"){
    echo " --------启动 airflow-------"
    ssh 你的服务器名称 "conda activate airflow;airflow webserver -p 8089 -D;airflow scheduler -D; conda deactivate"
};;
"stop"){
    echo " --------关闭 airflow-------"
    ps -ef|egrep 'scheduler|airflow-webserver'|grep -v grep|awk '{print $2}'|xargs kill -15 
};;
esac

修改数据库为MySQL

airflow教程,linux,大数据,python,linux,大数据

点击查看相关指导操作;

首先在MySQL中建库:

CREATE DATABASE airflow_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

由于版本不匹配,可能出现ssl证书的问题,可以选择关闭:

查看ssl是否开启:SHOW VARIABLES LIKE '%ssl%';

如何关闭?

sudo vim /etc/my.cnf

加入以下内容:skip_ssl

除此之外还可能出现时间戳问题:1067 - Invalid default value for ‘update_at’

原因:字段 'update_at' 为 timestamp类型,取值范围是:1970-01-01 00:00:00 到 2037-12-31 23:59:59(UTC +8 北京时间从1970-01-01 08:00:00 开始),而这里默认给了空值,所以导致失败。

解决方法:在配置文件中写入:sql_mode = STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

或者在命令行:set session sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

然后添加python连接的依赖:

先安装驱动:pip install mysql-connector-python

再修改配置文件:vim airflow/airflow.cfg

添加以下内容:sql_alchemy_conn = mysql+mysqlconnector://root:hadoop@服务器名称:3306/airflow_db

操作完成后重启数据库:sudo systemctl restart mysqld

注意:数据库必须重启,否则操作不生效

然后停止当前airflow服务,重新初始化后启动;创建账号进行登录

修改执行器

官网不推荐在开发中使用顺序执行器,会造成任务调度阻塞

airflow教程,linux,大数据,python,linux,大数据

可以在配置文件中修改对应的调度器:vim airflow/airflow.cfg

airflow教程,linux,大数据,python,linux,大数据

选择LocalExecutor,KubernetesExecutor等均可;

然后重启airflow

airflow教程,linux,大数据,python,linux,大数据

配置邮件服务器

修改airflow.cfg文件的内容:

airflow教程,linux,大数据,python,linux,大数据

主要参数:

smtp_host:SMTP服务器地址(在邮箱客户端可以查看)

airflow教程,linux,大数据,python,linux,大数据

port:SMTP服务器端口,163邮箱为25,QQ邮箱为465或587

修改代码,添加发送邮件的任务:

#!/usr/bin/python
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.operators.email_operator import EmailOperator
from datetime import datetime, timedelta

default_args = {
    # 用户
    'owner': 'why',
    # 是否开启任务依赖
    'depends_on_past': True, 
    # 邮箱
    'email': ['why200011124@163.com'],
    # 启动时间
    'start_date':datetime(2023,1,19),
    # 出错是否发邮件报警
    'email_on_failure': False,
    # 重试是否发邮件报警
    'email_on_retry': False,
    # 重试次数
    'retries': 1,
    # 重试时间间隔
    'retry_delay': timedelta(minutes=5),
}
# 声明任务图
dag = DAG('test_email', default_args=default_args, schedule_interval=timedelta(days=1))
 
# 创建单个任务
t1 = BashOperator(
    # 任务id
    task_id='t1',
    # 任务命令
    bash_command='ssh hadoop102 "echo "task1" >> /home/why/data/test_airflow.txt"',
    # 重试次数
    retries=3,
    # 把任务添加进图中
    dag=dag)

t2 = BashOperator(
    task_id='t2',
    bash_command='ssh hadoop102 "echo "task2" >> /home/why/data/test_airflow.txt"',
    retries=3,
    dag=dag)

t3 = BashOperator(
    task_id='t3',
    bash_command='ssh hadoop102 "echo "task3" >> /home/why/data/test_airflow.txt"',
    retries=3,
    dag=dag)

email=EmailOperator(
   task_id="email",
   to="3323929507@qq.com",
    subject="test-subject",
    html_content="<h1>test-content</h1>",
    cc="why200011124@163.com",
   dag=dag)

t2.set_upstream(t1)
t3.set_upstream(t2)
email.set_upstream(t3)

airflow教程,linux,大数据,python,linux,大数据

参数含义:

to:收件人地址

subject:邮件主题

html_content:邮件内容(html格式)

cc:抄送人地址

然后重启airflow即可;

常用命令

首先需要切入到airflow的conda环境下;

airflow --help:查看帮助信息;

airflow users -help:查看具体命令(users)的帮助信息:

airflow教程,linux,大数据,python,linux,大数据

airflow users list:查看所有用户

airflow webserver -p 8089 -D:启动web端

airflow scheduler -D:启动调度器;

airflow dags list:查看所有任务

airflow tasks list test --tree:查看单个任务(test)(以树形结构打印)

airflow教程,linux,大数据,python,linux,大数据文章来源地址https://www.toymoban.com/news/detail-692550.html

到了这里,关于airflow安装及使用入门(linux)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【yolov5 安装教程】(入门篇)避免踩雷保姆级教程 在m1芯片下 使用yolov5本地训练自己的数据集 ——mac m1

    ​​​​​​​ 目录 一、简介 配置 环境准备 二、环境配置 1.安装anaconda 2.安装TensorFlow 3.安装pytorch 4.pyqt5安装  5.安装labelimg 6.下载yolov5 7.pycharm安装 三、使用labelimg标记图片 1.准备工作 2.标记图片 四、 划分数据集以及配置文件修改 1. 划分训练集、验证集、测试集 2.XML格式转

    2024年02月05日
    浏览(53)
  • 千峰云计算linux教程650集,linux系统运维从入门到精通教程(Linux安装极速入门,零基础必备)

    第一天 1. 完成VMware下载,centos7下载,完成配置,获得模拟服务器一台。 2. 使用root登录。 服务器 (可以当初普通计算机,与普通的计算机内部结构相差不大) VMware是安装虚拟机的软件 (通过一些软件在一台主机或服务器系统中模拟出来的一台电脑,实际上就是一个比较大

    2024年01月17日
    浏览(47)
  • Airflow从入门到实战(万字长文)

    Airflow 是一个以编程方式编写,安排和监视工作流的平台。 使用 Airflow 将工作流编写任务的有向无环图(DAG)。Airflow 计划程序在遵循指定的依赖项,同时在一组工作线程上执行任务。丰富的命令实用程序使在 DAG 上执行复杂的调度变的轻而易举。丰富的用户界面使查看生产中

    2024年01月17日
    浏览(48)
  • Linux - Java 8 入门安装与重装教程集锦

    1. linux 系统中如何安装java环境(通过tar.gz文件) 安装包下载链接 Java 的 tar.gz 安装包下载链接传送门 Linux 系统的 Java 环境变量配置教程 1. linux查看java版本,以及配置java home 2. Linux环境下如何配置JAVA_HOME 3.【实操】如何在linux系统查找JAVA安装路径,定义JAVA_HOME 4. Linux配置java_

    2024年02月11日
    浏览(44)
  • Python 安装教程,新手入门(超详细)含Pycharm开发环境安装教程

    目录 一、Python介绍 二、Python安装教程 (一)Python的下载 (二)Python的安装 三、Pycharm开发工具的安装 (一)Pycharm介绍 (二)Pycharm的下载 (三)Pycharm的安装 ​        Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替

    2024年01月20日
    浏览(86)
  • Volatility3内存取证工具安装及入门在Linux下的安装教程

    Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。 针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很

    2024年04月28日
    浏览(39)
  • Linux安装Elasticsearch(手把手入门教程及下载资源)

    介绍Elasticsearch: 分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心) Restful风格,一切API都遵循Rest原则,容易上手 近实时搜索,数据更新在Elasticsearch中几乎是完全同步的 官网地址 点击进入官网点击去体验 下拉找到该模块点击下载 选择系统类型,点

    2023年04月08日
    浏览(49)
  • linux使用HTTP代理入门教程

    在Linux系统中,可以使用HTTP代理来访问互联网。HTTP代理是一种网络代理,它允许用户通过代理服务器来访问互联网。在本教程中,我们将介绍如何在Linux系统中使用HTTP代理。 步骤1:设置HTTP代理 要设置HTTP代理,您需要知道代理服务器的IP地址和端口号。假设代理服务器的I

    2024年02月11日
    浏览(50)
  • 【python教程入门学习】Pandas库下载、安装和更新

    Windows系统 win+R 打开命令提示符,进入cmd命令提示符 pip install pandas 提示pip需要更新 按照提示输入以下代码 pip install --upgrade pip  检查是否安装完成 python -m pip list   进入python,输入import pandas,看是否报错,如果不报错,说明安装成功。 python import pandas  安装成功!!

    2024年02月14日
    浏览(44)
  • Docker安装Airflow

    修改为 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock QQ 897252348

    2024年02月05日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包