背景
Apache Airflow™https://github.com/apache/airflow 是一个开源平台,用于开发、调度和监控面向批处理的工作流程。Airflow 可扩展的 Python 框架使您能够构建几乎可以连接任何技术的工作流程。Web 界面有助于管理工作流程的状态。Airflow 可以通过多种方式部署,从笔记本电脑上的单个进程到支持最大工作流程的分布式设置。
官网教学:https://airflow.apache.ac.cn/docs/apache-airflow/stable/installation/index.html
安装airflow
我已经有一个 jupyter notebook 的容器,我选择在容器内通过pip 使用 pip 命令安装 Apache Airflow。要注意,我因为容器之前没有预留开放宿主机的端口,只开了8888给jupyternotebook,被迫进行了容器的重建,额外开放了一个端口给到airflow访问。如果你pip安装好以后,无法访问,请确认防火墙的状态(默认是8080端口)。
pip的安装命令:
pip install "apache-airflow[celery]==2.9.2" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.9.2/constraints-3.11.txt"
2.9.2是目前的最新版本,3.11是我用的python 解释器的版本。
安装成功了以后
-
运行 Airflow 独立版
airflow standalone
命令会初始化数据库、创建用户并启动所有组件。airflow standalone
-
访问 Airflow 用户界面
在浏览器中访问
localhost:8080
并使用终端中显示的管理员帐户详细信息登录。在主页中启用example_bash_operator
DAG
然后遇到问题了,没有账户名和密码。初始密码可能在控制台终端上输出了,但我没留意到,查了网上的攻略内容比较少,但还是找到了命令。
重置管理员密码
使用 airflow users reset-password
命令来重置 admin
用户的密码,如果是在容器内操作,请先进入对应容器!
docker exec -it <container_id> /bin/bash
初始密码为admin,采用以下命令重置密码:
airflow users reset-password --username admin --password 新密码
用新密码访问宿主机端口,登陆成功!