Airflow 安装

文章目录

1、官网

官网地址

1.1、文档

两种安装方式,本文采用的安装方式

2、安装

2.1、本地安装(Running Airflow locally)

2.1.1、说明

官方支持的安装方式 : pip 安装。(官方文档中有说明)

2.1.2、安装环境

操作系统 : CentOS Linux release 7.6.1810 (Core)

安装包 : Minimal

Python : 3.6.8

Airflow : 2.1.2

virtualenv : 20.7.0

gcc : 4.8.5

g++ : 4.8.5

sqlite3 : 3.36.0

2.1.3、安装

2.1.3.1、安装过程中遇到的问题说明

说明 : 要求的 sqlite3 版本 >= 3.15.0,否则在数据库初始化的时候会出错,提示信息如下:

airflow.exceptions.AirflowConfigException: error: sqlite C library version too old (< 3.15.0). See https://airflow.apache.org/docs/apache-airflow/2.1.2/howto/set-up-database.rst

说明 : 不安装 virtualenv ,安装过程中会提示 :

WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
2.1.3.2、升级 sqlite3

查看当前 sqlite3 的版本,如果 >= 3.15.0 则不用升级。

sqlite3 -version

升级 sqlite3,需要有编译环境,因此需要安装 gcc 和 g++。
判断是否已经安装 gcc 和 g++,可使用以下命令 :

gcc -v
g++ -v

安装过程可以参考gcc 安装文件下载地址g++ 安装文件下载地址。下载完安装文件,上传到服务器,进入目录,运行以下命令进行安装(注意 : 一定要先安装 gcc , 再安装 g++ ,与依赖关系):


rpm -Uvh *.rpm --nodeps --force

下载 sqlite


wget https://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz

解压

tar -zxvf sqlite-autoconf-3360000.tar.gz

进入目录

cd sqlite-autoconf-3360000

配置 sqlite

./configure --prefix=/usr/local

编译

make && make install

检查版本,确认是否升级成功

sqlite3 -version

添加到库路径,否则仍然会报错(官方说明 : Post install add /usr/local/lib to library path)

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
2.1.3.3、安装 Python3 及虚拟环境 virtualenv

安装 Python 3 (默认包含 pip)

yum install python3 -y

安装完成后,验证安装情况

python3 -V
pip3 -V

安装 virtualenv

pip3 install virtualenv -i https://pypi.douban.com/simple/

建立软连接

ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

安装完成后,验证安装情况

virtualenv --version

安装成功在根目录下建立文件夹,主要用于存放虚拟环境。(个人习惯,其它人可根据自己的实际情况处理)

mkdir -p /data/env

切换到/data/env/下,创建指定版本的虚拟环境:

cd /data/env/
virtualenv --python=/usr/bin/python3 airflow

进入虚拟环境目录:

cd /data/env/airflow/bin

启动虚拟环境:

source activate

退出虚拟环境


deactivate

说明 : 命令行最前边 ” [” 之前出现(airflow),则表示进入了虚拟环境。

2.1.3.4、安装 Airflow

推荐 : 虚拟环境下安装,否则会有警告信息提示。

进入虚拟环境,运行以下命令:


export AIRFLOW_HOME=~/airflow

AIRFLOW_VERSION=2.1.2
PYTHON_VERSION="$(python --version | cut -d " " -f 2 | cut -d "." -f 1-2)"

CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"

pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}" -i https://pypi.douban.com/simple/

PS : 如果网络不好的情况,pip install 过程中可能会出现 Retry 的字样。
PPS : 安装完成后会提示升级 pip 到 21.2.3,没有影响,是否升级都可。

初始化数据库,并创建用户


airflow db init

(airflow) [root@test bin]
[2021-08-08 15:57:19,547] {manager.py:784} WARNING - No user yet created, use flask fab command to do it.

Password:
Repeat for confirmation:
Admin user admin created
2.1.3.5、启动服务

airflow webserver --port 8080

airflow webserver --port 8080 -D

airflow scheduler -D

防火墙开通 8080 端口


firewall-cmd --zone=public --add-port=8080/tcp --permanent

systemctl restart firewalld.service

firewall-cmd --zone=public --list-ports

访问地址 http://IP:8080 ,登录页面如下:

Airflow 安装

账户名 : admin

密码即为刚设置的。登录之后显示的页面如下

Airflow 安装

安装完成!

3、总结

官方文档提供的异常情况说明不是很全面,所以安装过程中遇到的问题都要自己去查。安装过程中的提示也很恶心,例如提示去访问 : https://airflow.apache.org/docs/apache-airflow/2.1.2/howto/set-up-database.rst#setting-up-a-sqlite-database , 访问的结果是 404 ,哭死 ~~ 之后查到访问地址变更为 : http://airflow.apache.org/docs/apache-airflow/stable/howto/set-up-database.html#database-uri 。不过,整体上安装过程还算顺利啦 ~~~

Original: https://blog.csdn.net/achi010/article/details/119570515
Author: achi010
Title: Airflow 安装

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/816560/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球