1. 检查docker及docker compose
1) 检查docker版本号
1 | sudo docker --version |
输出:
1 Docker version 26.1.4, build 5650f9b因为我的这个版本中的docker是包含docker compose的, 就不需要单独安装 docker-compose 了
1
2
3
4
5
6
7
8
9
10
11 # 下载Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 创建软链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 验证安装
docker-compose --version
2) 安装docker
1 | # 安装必要的依赖 |
2. 安装 airflow
1 | # 创建Airflow目录 |
airflow所需内存最小4GB, 若服务器内存过小则很大概率启动失败
常用命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 # 进入airflow工作目录
cd ~/airflow
# 停止所有服务
docker compose down
# 查看日志
docker compose logs -f airflow-webserver
# 进入airflow容器
docker compose exec airflow-webserver bash
# 重启服务
docker compose restart
# 运行服务
odcker compose up -d**若是docker版本低, 单独安装了docker-compose的话上方所有的
docker compose
需替换为docker-compose
**
3. 防火墙放开端口
1 | sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent |
若8080端口被占用则两种解决思路
杀掉现存8080端口
1
2
3
4
5 # 查找占用8080端口的进程
netstat -tulpn | grep 8080
# 根据查找到的进程ID(PID)终止进程
kill -9 <PID>修改
airflow-webserver
主机映射端口
1
2 # 编辑docker-compose.yaml, nano可替换为 vi/vim
sudo nano ~/airflow/docker-compose.yaml找到 webserver 部分的端口映射
1
2
3
4
5 services:
webserver:
# ... 其他配置
ports:
- "8080:8080" # 将这里的第一个8080改为其他未占用的端口,如8081:8080修改后保存文件,然后重新启动
1
2
3
4
5
6 docker compose down
docker compose up -d
sudo firewall-cmd --zone=public --add-port=8081/tcp --permanent # 替换为修改的端口号
sudo firewall-cmd --reload若是云服务器则无需执行所有带
firewall-cmd
的命令, 需要在安全组中添加入站端口, 端口填写修改的端口号, 添加完成后待airflow-webserver
启动成功后使用浏览器访问http://公网ip:端口号
默认登录账号为airflow airflow
若是本地虚拟机则使用
ip addr
查看ens33
的局域网ip地址, 待airflow-webserver
启动成功后在主机使用浏览器访问http://ip:端口号
默认登录账号为airflow airflow