环境
centos7
python3.8
docker
docker-compose
容器化安装Airflow
创建用户和用户组
在root用户下,创建airflow用户
useradd airflow 创建用户 passwd airflow 设置密码 groupadd airflow 创建用户组 usermod -G airflow airflow 添加用户到用户组
把airflow设置为管理员
## Allow root to run any commands anywhere root ALL=(ALL) ALL airflow ALL=(ALL) NOPASSWD: ALL
安装apache-airflow
- 使用airflow 用户,从root用户切换到airflow
cd /home/airflow 进入airflow用户下,安装相关库 pip install celery pip install "apache-airflow==2.3.3"--constraint"https://raw.githubusercontent.com/apache/airflow/constraints-2.3.3/constraints-3.7.txt"
- 下载airflow相关容器的docker-compose.yml文件
cd /home/airflow/ curl-LfO'https://airflow.apache.org/docs/apache-airflow/2.3.3/docker-compose.yaml'
- 在启动容器之前,初始化相关需要创建几个持久化目录和环境
在airflow用户,进行初始化
cd /home/airflow/ mkdir-p ./dags ./logs ./plugins echo-e"AIRFLOW_UID=$(id -u)" > .env
初始化容器
如果不是普通用户(root),在运行容器的时候,会报错,找不到airflow
模块
su root cd /home/airflow docker-compose up airflow-init #初始化数据库,以及创建表
启动容器:
docker-compose up -d#创建airflow容器并启动
查看当前容器状态:
当出现容器的状态为unhealthy
的时候,要通过docker inspect $container_name
查看报错的原因,至此airflow的安装就已经完成了。
访问airflow-web-server
http://192.168.10.100:8080/
默认登录用户和密码为: airflow 和 airflow