简化的Airflow CLI工具,用于启动CeleryExecutor部署
airflow-run的Python项目详细描述
气流流动
用于部署气流多节点集群的Python工具。在
要求
- Python>;=3.6(已测试)
目标
提供快速设置气流多节点群集的方法(也称为芹菜执行器设置)。
台阶
- 生成配置yaml文件。在
- 运行命令以启动webserver、scheduler、worker、(rabbitmq、postgres)。在
- 添加dag文件并运行initdb。在
生成配置文件:
afr--generate_config
在与配置文件相同的目录中运行该工具:
^{pr2}$或者,运行指定配置路径的工具:
afr--runpostgresql--config/path/config.yaml
或者,使用此环境变量设置配置路径:
exportAIRFLOWRUN_CONFIG_PATH="/some_path/config.yaml"
运行webserver、scheduler和worker(postgres和rabbitmq,如果需要本地实例)之后,在配置文件中定义的目录中的dags子目录中添加dag文件。在
(*注意:确保您在dags,logs子目录中具有正确的用户权限。)
就这样!!在
默认配置文件:
private_registry:Falseregistry_url:registry.hub.docker.comusername:""password:""repository:pkuong/airflow-runimage:airflow-runtag:latestlocal_dir:{local directory where you want to mount /dags and /logs folder}webserver_port:8000flower_port:5555custom_mount_volumes:[]env:AIRFLOW__CORE__EXECUTOR:CeleryExecutorAIRFLOW__CORE__LOAD_EXAMPLES:"False"AIRFLOW__CORE__DAGS_FOLDER:/usr/local/airflow/airflow/dagsAIRFLOW__CORE__LOGS_FOLDER:/usr/local/airflow/airflow/logsAIRFLOW_HOME:/usr/local/airflowAIRFLOW__CORE__FERNET_KEY:""rabbitmq:name:rabbitmqusername:{username}password:{password}host:{IP}virtual_host:/image:rabbitmq:3-managementhome:/var/lib/rabbitmqui_port:15672port:5672env:RABBITMQ_DEFAULT_USER:{username}RABBITMQ_DEFAULT_PASS:{password}postgresql:name:postgresqlusername:{username}password:{password}host:{host}image:postgresdata:/var/lib/postgresql/dataport:5432env:PGDATA:/var/lib/postgresql/data/pgdataPOSTGRES_USER:{username}POSTGRES_PASSWORD:{password}
自定义装载卷
您可以在容器中指定自定义装载卷,例如:
custom_mount_volumes:-host_path:/Users/bob/.awscontainer_path:/usr/local/airflow/.aws
Docker图像
此工具默认使用以下公共docker映像。
https://hub.docker.com/repository/docker/pkuong/airflow-run
塑造形象:
如果要构建自己的映像,可以运行以下命令:
afd--build--config_path={absolutepathtoconfig.yaml}--dockerfile_path={absolutepathtodirectorywhichcontainsDockerfile}
贡献者
- 郭保禄(@pkuong)
- 项目
标签: