## 全新Centos服务器 安装Airflow
1. **安装python 3.7 参考**
https://www.cnblogs.com/xiaonq/p/11145846.html
2. **Python3.7 pip3安装完成后,开始安装airflow**
```
pip3 install apache-airflow
# 运行成功
pip3 install apache-airflow[mysql]
# 运行失败 因为没有mysql-config 文件
```
3. **转而安装mariadb**
参考 https://www.cnblogs.com/yhongji/p/9783065.html
4. **再次运行,成功**
```
pip3 install apache-airflow[mysql]
# 下面两条命令为分布式部署准备
pip install celery
pip install redis
```
5. **配置系统变量、生成主文件夹**
```
export AIRFLOW_HOME=~/airflow
airflow
```
6. **修改airflow.cfg 文件**
单机版
```
#修改初始数据库连接
sql_alchemy_conn=mysql+mysqldb://airflow:airflow@localhost:3306/airflow
#修改执行器
executor=LocalExecutor
```
7 **初始化数据库时出错**
```
登陆mysql,创建airflow数据库
create database airflow
airflow initdb
# (1193, "Unknown system variable 'explicit_defaults_for_timestamp'")
# 解决办法
# 发现默认mariadb 5.5版本不符合要求,因此更新mariadb
# 参考 https://blog.csdn.net/fenglailea/article/details/92265661
# 更新完后版本为10.1.8
vi /etc/my.cnf
# 在[mysqld]下增加,不更新版本不存在该参数
explicit_defaults_for_timestamp=true
# 重启服务
systemctl restart mariadb
# 再次运行初始化命令成功
airflow initdb
# 后台启动 webserver 和 scheduler
nohup airflow scheduler>>$AIRFLOW_HOME/airflow-scheduler.log 2>&1 &
nohup airflow webserver>>$AIRFLOW_HOME/airflow-webserver.log 2>&1 &
```
8. [修改时区](https://blog.csdn.net/crazy__hope/article/details/83688986)
### -----------------------------------至此单机版安装完成---------------------------------