Docker安装Airflow

博客 分享
0 256
张三
张三 2023-05-18 18:55:11
悬赏:0 积分 收藏

Docker安装Airflow

环境

 系统:Ubuntu 22.04.2 LTS 
 docker Version:20.10.21
 docker-compose version 1.29.2,
 python3 --version Python 3.10.6

1、 安装docker

1.1先更新系统

		sudo apt-get update
		sudo apt-get upgrade

1.2安装docker:

		apt-get install docker.io

1.3查看docker版本:

		docker version

1.4 将当前用户加入docker这个group

sudo usermod -aG docker $USER

1.5 验证是否添加成功

groups 或者 id -nG

1.6 重启docker

sudo service docker restart

1.7 验证docker 是否安装成功

docker version 或 docker info
第一个命令“docker version”将列出已安装的Docker版本,以及客户端和服务端的详细信息。如果输出中没有错误,则说明Docker已成功安装。
第二个命令“docker info”将显示有关Docker daemon(Docker守护程序)的详细信息,包括系统信息、容器信息和镜像信息等。同样,如果输出中没有错误,则说明Docker已成功安装。

1.8修改docker配置文件,使得docker能被远程访问

vim /lib/systemd/system/docker.service

修改为
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

1.9重载守护进程以及重启Docker:

sudo systemctl daemon-reload
sudo service docker restart

1.20安装 docker-compose

sudo apt-get install -y docker-compose

验证安装是否成功
docker-compose --version

2.安装 airflow

2.1 新建 airflow 文件夹

设置正确的Airflow用户
在Linux中,需要知道user id 以及设置group id为0,否则在dags、 logs、 plugins中的文件将由root用户创建。这里我们需要配置AIRFLOW_UID

mkdir -p /usr/local/airflow  
cd /usr/local/airflow
mkdir -p ./dags ./logs ./plugins
echo -e "AIRFLOW_UID=$(id -u)" > .env

备注:
./dags 我们可以将我们写的DAG文件放置到这里。
./logs 存放来源于任务执行器与调度器的日志。
./plugins 存放一些我们自定义的插件。

2.2要在 Docker Compose 上部署 Airflow,

官网上直该获取 docker-compose.yaml。
地址:
		curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.6.0/docker-compose.yaml' 
备注:如果网络超时就手动下载在上传到服务器

初始化数据库
		docker-compose up airflow-init
运行Airflow 启动所有服务	#建议第一次运行时不要加-d,查看日志运行
		docker-compose up -d
#Ctrl+C停止,然后重新启动一下
		docker-compose down
		docker-compose up -d
登录airflow
		地址:http://localhost:8080
		登录名/密码 :airflow airflow
检查容器状态
		docker ps

3 常用命令

启动Airflow服务:     				docker-compose up
后台启动Airflow服务:				docker-compose up -d
停止Airflow服务:					docker-compose down
列出正在运行的Airflow容器:			docker ps
查看镜像							docker images
查看docker状态						sudo systemctl status docker
进入某个Airflow容器的终端:			docker exec -it <container_name> bash    备注:<container_name>为容器名或ID
显示Airflow服务的日志:				docker-compose logs [-f] [service_name]  备注: -f参数表示实时跟踪日志,service_name参数表示服务名,默认为所有服务。
构建Airflow镜像                     docker-compose build
清除未使用的镜像、容器、网络和卷:  docker system prune
查看Airflow所在的网络IP地址:		docker network inspect airflow-stack_airflow-net | grep Gateway    备注:irflow-stack_airflow-net表示Docker Compose文件中定义的Airflow网络名
docker 保存镜像						docker save -o airflow2.tar apache/airflow:2.6.0
tar 文件导入到另一台机器上			docker load -i airflow2.tar

可以参考文献:

			https://github.com/puckel/docker-airflow 
			https://blog.csdn.net/qq_35491275/article/details/121981215
			https://blog.51cto.com/helpdesk/5651419?articleABtest=1

CSDN 狗都不用的,欢迎各位大佬指点不足支持,一起学习和交流

QQ 897252348

posted @ 2023-05-18 18:47  丶半年  阅读(0)  评论(0编辑  收藏  举报
回帖
    张三

    张三 (王者 段位)

    921 积分 (2)粉丝 (41)源码

     

    温馨提示

    亦奇源码

    最新会员