【安装】
环境:
Ubuntu 18.04
Python 3.6+
1.下载安装virtualbox(Oracle VM VirtualBox)
2.下载ubuntu18镜像https://releases.ubuntu.com/bionic/
3.virtualbox新建一个虚拟环境(选择Linux64)完成后,选择设置-存储-没有盘片-分配光驱-选择下载的ubuntu-18.04.5-desktop-amd64.iso
4.安装ubuntu18环境
5.查看Ubuntu18自带的python3版本
5.安装pip3:
sudo apt install python3-pip
6.更新pip:
python3 -m pip install --upgrade pip
7.安装apache-airflow
pip3 install apache-airflow -i https://pypi.tuna.tsinghua.edu.cn/simple
发现以下警告:
8.设置环境变量:
cd ~
vim .bashrc
末尾添加export PATH=$PATH:/home/z/.local/bin
(airflow位置)
这里的$PATH
表示的是原环境变量,:
是分隔符
该文件编辑保存后,可立即在新打开的终端窗口内生效。
可以用echo $PATH查看当前环境变量。
9.新打开一个终端窗口,输入airflow
即完成。
【使用】
1.查看版本airflow version
2.初始化数据库airflow db init
此命令默认在家目录下创建 Airflow 文件夹和相关配置文件。
3.更改数据库链接
sql_alchemy_conn = mysql://ct:152108@localhost/airflow
对应字段解释如下: dialect+driver://username:password@host:port/database
在对应数据库新建数据库airflow(这里对应的是远程服务器)
4.再初始化一下airflow db init
(上面两步替换一下?)
报错:
Ubuntu安装MySQLdb:
pip install mysqlclient
报错:
No matching distribution found for mysqlclient
mysqlclient安装失败是因为缺少部分依赖,依次安装以下依赖即可:
sudo apt install -y mysql-client
sudo apt-get install libmysqlclient-dev
sudo apt install libssl-dev
sudo apt install libcrypto++-dev
再安装:
pip install mysqlclient
运行airflow db init
报错:
Exception: Global variable explicit_defaults_for_timestamp needs to be on (1) for mysql
或者本地安装MySQL:
https://www.cnblogs.com/opsprobe/p/9126864.html
再airflow db init
注意有些修改需要用新终端打开才能运行成功。
5.运行 webserver,默认端口为8080,也可以通过-p
来指定端口
airflow webserver -D
出现no user yet created ,user flask fab command to do it
警告,创建user:
airflow users create --username admin --firstname admin --lastname admin --role Admin --email xxx@163.com
再运行airflow webserver -D
,如果出现unable to connect
则运行airflow webserver -p 8080
运行airflow出现错误:
NameError: name '_mysql' is not defined
解决办法:
sudo apt-get install libmysqlclient-dev
https://newbedev.com/nameerror-name-mysql-is-not-defined-after-setting-change-to-mysql