Airflow【部署 01】Airflow官网Quick Start实操(一篇学会部署Airflow)_apache airflow教程(1)

T

R

A

I

N

T

_

U

R

L

=

"

h

t

t

p

s

:

/

/

r

a

w

.

g

i

t

h

u

b

u

s

e

r

c

o

n

t

e

n

t

.

c

o

m

/

a

p

a

c

h

e

/

a

i

r

f

l

o

w

/

c

o

n

s

t

r

a

i

n

t

s

(python --version | cut -d " " -f 2 | cut -d “.” -f 1-2)" CONSTRAINT\_URL="https://raw.githubusercontent.com/apache/airflow/constraints-

(python−−version∣cut−d"“−f2∣cut−d”."−f1−2)"CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints−{AIRFLOW_VERSION}/constraints-

P

Y

T

H

O

N

_

V

E

R

S

I

O

N

.

t

x

t

"

p

i

p

i

n

s

t

a

l

l

"

a

p

a

c

h

e

a

i

r

f

l

o

w

=

=

{PYTHON\_VERSION}.txt" pip install "apache-airflow==

PYTHON_VERSION.txt"pipinstall"apache−airflow=={AIRFLOW_VERSION}” --constraint “${CONSTRAINT_URL}”


执行文件即可。也可以使用`pip`进行安装:




pip install “apache-airflow==2.7.2”


查询版本:




airflow version


## 3.启动单机版


### 3.1 快速启动


该命令初始化数据库、创建用户并启动所有组件。




airflow standalone

启动成功标志

standalone | Airflow is ready
standalone | Login with username: admin password: ZUUNtd9ppZZTQuqy
standalone | Airflow Standalone is for development purposes only. Do not use this in production!


### 3.2 分步骤启动


如果您想手动运行Airflow的各个部分,而不是使用一体化的独立命令,您可以运行:


1. 该命令用于执行数据库迁移。在使用 Airflow 之前,你需要初始化数据库结构。db migrate 命令会根据你的配置文件创建数据库表格,以便存储任务调度、任务实例、DAG(Directed Acyclic Graph,有向无环图)等信息。运行后的信息:




airflow db migrate


初始化数据库后的输出信息:




DB: sqlite:root/airflow/airflow.db
Performing upgrade to the metadata database sqlite:root/airflow/airflow.db
[2023-10-19T14:21:37.687+0800] {migration.py:213} INFO - Context impl SQLiteImpl.
[2023-10-19T14:21:37.688+0800] {migration.py:216} INFO - Will assume non-transactional DDL.
[2023-10-19T14:21:37.690+0800] {db.py:1620} INFO - Creating tables
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
WARNI [unusual_prefix_911b7e3bced5159145cb88698226ecde6e08c7be_example_kubernetes_executor] The example_kubernetes_executor example DAG requires the kubernetes provider. Please install it with: pip install apache-airflow[cncf.kubernetes]
WARNI [unusual_prefix_008dd7238a3787d68b758fe337b9f566c5014ba3_tutorial_taskflow_api_virtualenv] The tutorial_taskflow_api_virtualenv example DAG requires virtualenv, please install it.
WARNI [unusual_prefix_db2b4614a7fb1ba43706f0a1f2be91e808476bfa_example_python_operator] The virtalenv_python example task requires virtualenv, please install it.
WARNI [unusual_prefix_5624127e5a8d9c88ab5a41d62ecf92869309dd74_example_local_kubernetes_executor] Could not import DAGs in example_local_kubernetes_executor.py
Traceback (most recent call last):
File “/root/anaconda3/envs/airflow/lib/python3.8/site-packages/airflow/example_dags/example_local_kubernetes_executor.py”, line 37, in
from kubernetes.client import models as k8s
ModuleNotFoundError: No module named ‘kubernetes’
WARNI [unusual_prefix_5624127e5a8d9c88ab5a41d62ecf92869309dd74_example_local_kubernetes_executor] Install Kubernetes dependencies with: pip install apache-airflow[cncf.kubernetes]
WARNI [unusual_prefix_f16a910b73b9eed67cbb95faa136bc7fd6c14eb6_workday] Could not import pandas. Holidays will not be considered.
Database migrating done!


2. 该命令用于创建 Airflow 的用户。在这个例子中,它创建了一个名为 “admin” 的用户,具有管理员角色(Admin),并提供了一些用户信息,如名字、姓氏、电子邮件等。




airflow users create
–username admin
–firstname Peter
–lastname Parker
–role Admin
–email spiderman@superhero.org

测试

airflow users create
–username test
–firstname te
–lastname st
–role Admin
–email testman@superhero.org

输入密码并确认后即可创建新用户

Password:
Repeat for confirmation:
[2023-10-19T15:08:26.070+0800] {manager.py:211} INFO - Added user %s
User “test” created with role “Admin”


3. 该命令启动 Airflow 的 Web 服务器。Web 服务器提供了一个用户界面,你可以通过浏览器访问。–port 8080 选项指定了 Web 服务器监听的端口号,这里是 8080。你可以通过访问 http://localhost:8080 来打开 Airflow Web UI。




用于启动

airflow webserver --port 8080 -D


4. 该命令启动 Airflow 的调度器。调度器负责按照你的 DAG(工作流)定义定期运行任务。它会检查定义的任务调度时间,然后触发相应的任务实例。调度器是 Airflow 中关键的组件之一,确保任务按照计划执行。




airflow scheduler -D


-D: 表示以守护进程(daemon)模式运行。以守护进程模式运行意味着该进程将在后台持续运行,而不占用当前终端。


### 3.3 启动后


在运行这些命令后,Airflow将创建`$AIRFLOW_HOME`文件夹,并创建默认值为`Airflow .cfg`的文件,这将使您快速运行。您可以使用环境变量覆盖默认值,请参见配置参考:<https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html>。您可以在`$AIRFLOW_HOME/airflow.cfg`中检查该文件,或者通过`Admin->Configuration`菜单中的UI检查该文件。如果由systemd启动webserver的PID将存储在`$AIRFLOW_HOME/airflow-webserver.pid`或`/run/airflow/webserver.pid`文件中。


![files-0.jpg](https://img-blog.csdnimg.cn/img_convert/112cf43ed846209ed9439236025529f6.jpeg)


### 3.4 服务启动停止脚本


感谢 <https://blog.csdn.net/weixin_45417821/article/details/128729413> 的分享,脚本`airflow-service.sh`内容:




#!/bin/bash
case $1 in
“start”){
echo " --------start airflow-------"
conda activate airflow;airflow webserver -p 8080 -D;airflow scheduler -D;conda deactivate
};;
“stop”){
echo " --------stop airflow-------"
ps -ef | egrep ‘scheduler|airflow-webserver’ | grep -v grep | awk ‘{print $2}’ | xargs kill -15
};;
esac


脚本的执行环境为`非虚拟环境`也就是Linux本Lin,为何要使用`source`进行执行小伙伴儿们可以自行学习啊:




启动

source ./airflow-service.sh start

停止

source ./airflow-service.sh stop


## 4.访问





还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!


王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。


对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!


【完整版领取方式在文末!!】


***93道网络安全面试题***


![](https://img-blog.csdnimg.cn/img_convert/6679c89ccd849f9504c48bb02882ef8d.png)








![](https://img-blog.csdnimg.cn/img_convert/07ce1a919614bde78921fb2f8ddf0c2f.png)





![](https://img-blog.csdnimg.cn/img_convert/44238619c3ba2d672b5b8dc4a529b01d.png)





内容实在太多,不一一截图了


### 黑客学习资源推荐


最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!


对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


😝朋友们如果有需要的话,可以联系领取~

#### 1️⃣零基础入门


##### ① 学习路线


对于从来没有接触过网络安全的同学,我们帮你准备了详细的**学习成长路线图**。可以说是**最科学最系统的学习路线**,大家跟着这个大的方向学习准没问题。


![image](https://img-blog.csdnimg.cn/img_convert/acb3c4714e29498573a58a3c79c775da.gif#pic_center)


##### ② 路线对应学习视频


同时每个成长路线对应的板块都有配套的视频提供:


![image-20231025112050764](https://img-blog.csdnimg.cn/874ad4fd3dbe4f6bb3bff17885655014.png#pic_center)


#### 2️⃣视频配套工具&国内外网安书籍、文档


##### ① 工具


![](https://img-blog.csdnimg.cn/img_convert/d3f08d9a26927e48b1332a38401b3369.png#pic_center)


##### ② 视频

## 最后

**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**

![img](https://img-blog.csdnimg.cn/img_convert/523400fdda6a2e88f6afe242041e71b9.png)

![img](https://img-blog.csdnimg.cn/img_convert/00c3676795faf638268e6a54d12d2544.png)

![img](https://img-blog.csdnimg.cn/img_convert/a303cd732bc5885c1b95133ee79dda97.png)

![img](https://img-blog.csdnimg.cn/img_convert/4f839065649975ad40c9e1afe602ca64.png)

![img](https://img-blog.csdnimg.cn/img_convert/7db4a7fcdacf48e4bd4ccbfaaca23769.png)

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!**

[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618653875)

**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**

8b1332a38401b3369.png#pic_center)


##### ② 视频

## 最后

**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**

[外链图片转存中...(img-69DbV5iJ-1715804848931)]

[外链图片转存中...(img-WM9hEUdm-1715804848931)]

[外链图片转存中...(img-9ombLNQA-1715804848932)]

[外链图片转存中...(img-4srSMqB2-1715804848932)]

[外链图片转存中...(img-Y98A7n9H-1715804848932)]

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!**

[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618653875)

**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Airflow部署可以采用多节点(集群)部署的方式,这种方式适用于对稳定性要求较高的场景。在多节点部署,可以将Airflow的守护进程分布在多台机器上运行,以实现高可用性。[1] 具体的部署步骤如下: 1. 确保已经安装了CentOS 7.2操作系统,并满足以下版本要求:Airflow 1.9、Python 2.7.5、Celery 4.3.0、Redis 4.1.0和MySQL 5.7。 2. 执行以下命令安装Airflow:`pip install apache-airflow`. 3. 执行以下命令初始化Airflow的数据库:`airflow db init`. 4. 启动Web服务:`airflow webserver --port 8080 -D`. 5. 启动调度器:`airflow scheduler -D`. 如果需要重新启动Airflow,可以执行以下步骤: 1. 杀死所有正在运行的Airflow进程:`killall airflow`. 2. 运行以下命令初始化数据库:`airflow db upgrade`. 3. 启动Web服务:`airflow webserver --port 8080 -D`. 4. 启动调度器:`airflow scheduler -D`. 对于MySQL数据库的部署,您可以使用以下步骤: 1. 登录MySQL数据库,执行以下命令创建Airflow数据库:`create database airflow;`. 2. 创建Airflow用户并设置密码:`create user 'airflow'@'%' identified by '123456';`. 3. 授予Airflow用户对所有数据库的所有权限:`grant all privileges on *.* to 'airflow'@'%';`. 4. 刷新权限:`FLUSH PRIVILEGES;`. 请注意,以上步骤仅为Airflow部署和数据库配置的基本步骤,具体的部署配置可能会因环境和需求而有所不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [airflow初探(一)-- 安装和部署](https://blog.csdn.net/hpugym/article/details/89476480)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [airflow 2.2.3部署(2022年最新版+史上最完整版)](https://blog.csdn.net/small_fash/article/details/123254349)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值