全新Centos服务器 安装单机Airflow(踩坑记录)

## 全新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)

### -----------------------------------至此单机版安装完成---------------------------------

你可能感兴趣的:(全新Centos服务器 安装单机Airflow(踩坑记录))