AirFlow环境搭建

基础环境

Centos7.8
Python
mysql

1. 搭建Python3环境

查找python位置
[root@root ~]# whereis python
python: /usr/bin/python2.7 /usr/bin/python 
  • 可以知道我们的python在 /usr/bin目录中
[root@root ~]# cd /usr/bin/
[root@root bin]# ll python*
lrwxrwxrwx. 1 root root    7 27 09:30 python -> python2
lrwxrwxrwx. 1 root root    9 27 09:30 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 84 2017 python2.7
  • 可以看到,python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python指向python3,然后python2指向python2.7,那么两个版本的python就能共存了。
2.因为我们要安装python3,所以要先安装相关包,用于下载编译python3:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

运行了以上命令以后,就安装了编译python3所用到的相关依赖

3.默认的,centos7也没有安装pip,不知道是不是因为我安装软件的时候选择的是最小安装的模式。
  • 运行这个命令添加epel扩展源
yum -y install epel-release
yum -y install libffi-devel
  • 安装pip
yum install python-pip
4.用pip装wget
pip install wget
5.用wget下载python3的源码包(评论区网友提供了淘宝镜像,替换了官网下载python3,提高下载速度)
wget http://npm.taobao.org/mirrors/python/3.7.5/Python-3.7.5.tar.xz
6.编译python3源码包
  • 解压
xz -d Python-3.7.5.tar.xz
tar -xf Python-3.7.5.tar
  • 进入解压后的目录,依次执行下面命令进行手动编译
cd Python-3.7.5
./configure prefix=/usr/local/python3
make && make install
  • 如果出现can’t decompress data; zlib not available这个错误,则需要安装相关库
    #安装依赖zlib、zlib-devel
yum install zlib zlib
yum install zlib zlib-devel

如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录

7.添加软链接
  • 将原来的链接备份
mv /usr/bin/python /usr/bin/python.bak
  • 添加python3的软链接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python
  • 测试是否安装成功了
python -V
8.更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用
vi /usr/bin/yum

把! /usr/bin/python修改为! /usr/bin/python2

vi /usr/libexec/urlgrabber-ext-down

把#! /usr/bin/python 修改为#! /usr/bin/python2

  • 启动python2:
python2
  • 启动python3:
python

pip指向Python3

pip没有设置的话,在命令行输入 pip --version 或者 pip2 --version,指向的都是python2.
现在我们设置把pip指向python3,(安装好python3后,里面就已经下载了pip3了,无需额外下载)

# 进入usr/bin目录
cd /usr/bin
 
# 查看pip前缀的文件
ll pip*
 
# 删除pip文件
rm pip
 
# 重新设置pip文件
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
 
# 可以再补加一个pip3命令
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 

此时输入命令 pip --version 或者 pip3 --version 会发现pip已经指向的是python3了。
如果需要下载python3的库,就可以直接使用命令,pip3 install 或 pip install,

而下载python2的库,使用命令pip2 install

安装AirFlow

安装python3包
pip install --upgrade pip
pip install pymysql
pip install paramiko
安装airflow依赖环境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
安装airflow
pip install apache-airflow
  • 报出警告
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager

则可以先CD进入Python安装目录,执行以下指令 :
假设Python3安装在/usr/local/python3

cd /usr/local/python3
python3 -m venv tutorial-env
source tutorial-env/bin/activate

再次尝试pip命令即可

### 安装和配置Apache Airflow #### 准备环境 为了确保顺利安装并运行 Apache Airflow,建议先设置好 Python 环境,并通过 Docker 或者直接在主机上部署。对于初学者来说,采用官方提供的 Docker Compose 文件来启动 Airflow 是一种简单有效的方式。 #### 使用Docker安装Airflow 按照2022年的指南[^1],可以利用 Docker 来简化整个过程。具体操作如下: 下载最新的 `docker-compose.yaml` 文件: ```bash curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.2.5/docker-compose.yaml' ``` 创建 `.env` 文件用于定义环境变量: ```plaintext AIRFLOW_UID=$(id -u) AIRFLOW_GID=0 ``` 初始化数据库和其他必要的准备工作: ```bash docker compose up airflow-init ``` 当终端显示类似于下面的日志信息时即表示安装完成: ``` airflow-init_1 | Upgrades done airflow-init_1 | Admin user airflow created airflow-init_1 | 2.2.5 start_airflow-init_1 exited with code 0 ``` #### 启动Airflow服务 继续使用 Docker Compose 启动所有相关容器和服务: ```bash docker compose up ``` 访问 WebUI,默认地址为 http://localhost:8080 ,初始用户名密码均为 `airflow`。 #### 配置调度器 关于 Airflow 调度器的作用及其重要性,在一篇技术博客中有详细的解释[^2]。它作为核心组件之一,主要职责在于管理和触发工作流程中的各项任务。要让这些任务按预期顺序自动执行,需正确调整调度参数以适应特定需求。 针对不同规模的应用场景可以选择不同的 Executor 类型;例如小型项目可以直接选用 LocalExecutor 执行器[^3],而对于更复杂的生产环境则可能更适合 CeleryExecutor 或 KubernetesExecutor 这样的分布式解决方案。 #### 设置任务计划 编辑 DAG (Directed Acyclic Graph) 文件定义具体的作业逻辑。每一个 DAG 实际上就是一个 Python 脚本文件,放置于 `$AIRFLOW_HOME/dags` 目录下即可被识别加载。更多细节参见官方文档说明。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值