Ubuntu上安装Airflow

467 阅读2分钟

1、环境准备

参考文章: Ubuntu18 airflow安装及使用 [Ubuntu18 airflow安装及使用_ubuntu 安装airflow-CSDN博客] 要有Python3环境,和Pip环境。

sudo apt-get update
sudo apt-get upgrade -y
python3 -m pip install --upgrade pip

1.1 VMware Work 扩展磁盘空间

首先,要删除所有的镜像,只留一个。删除时要耐心等待全部删除,如果删除没完成取消。会出现删除不彻底,而无法扩展的情况。那么只要再次创建一个快照,那么那个没删除干净的快照就会出现。再次彻底删除。

然后要设置->磁盘扩容->输入100G

之后要安装一个软件:

sudo apt-get install gparted

启动

sudo gparted

之后,不要去创建,而是在使用的盘符上右键

730ae47d-6d3a-4a1b-8707-c2d2dd9aedfc.jpeg

选择调整选项

f2787441-aa7c-468e-b16e-7fdd6d477aa7.jpeg

上面的进度条一样的进行拖拽增加空间

d8f0ff3c-6cb5-4754-92f2-a678b422693f.jpeg

之后确定

ca8dd2cb-973b-4c48-bc1b-dff758f08af1.jpeg

2、安装airflow

2.1、激活zsh的conda命令

如果安装了conda,并且安装了zsh的话,会出现zsh无法使用conda命令的情况,这个时候要编辑“~/.zshrc”

vim ~/.zshrc
# 添加下面内容

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/zch/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/zch/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/zch/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/zch/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

之后一定要激活

source ~/.zshrc

验证是否好用:

conda env list

2.2、创建conda的env环境

conda create -n airflow python==3.11.4

激活

conda activate airflow

安装airflow

pip install apache-airflow

查看是否安装成功:

airflow
airflow version

3、配置数据库

在根目录下执行命令:

airflow db init

之后会在用户家目录下生成一个文件夹 /home/username/airflow 进入到里面有一个 "airflow.cfg"是配置文件,修改数据库(默认是sqlit)

vim airflow.cfg
sql_alchem_conn = dialect+driver://username:password@host:port/database
sql_alchem_conn = mysql://username:password@host:port/database
sql_alchemy_conn = postgresql+psycopg2://postgres:123456@localhost:5432/airflow

# 不加载提供的用例
load_example = False

如果修改使用postgresql+psycopg2会报错,需要安装插件:

sudo apt-get install libpq-dev
pip install psycopg2-binary
# 之后再次执行:
airflow db init

4、创建用户

airflow users  create --role Admin --username zhuchenghai --email zhuchenghai@neusoft.com --firstname zhu --lastname chenghai --password 123456

5、启动服务

指定端口

airflow webserver -p 8090
airflow scheduler

后台启动的方法:

airflow webserver -p 8080 -D
airflow scheduler -D

关闭服务:

# 进入工作目录执行
cd ~/airflow
ps -ef|egrep 'scheduler|airflow-webserver'|grep -v grep|awk '{print $2}'|xargs kill -15

6、插件依赖

取决于环境要求,可能需要安装额外的插件依赖,比如若要使用Postgres DB,需要安装 postgres-devel yum package. 具体不同环境下的extra和provider可查阅以下链接。 Reference for package extras.