airflow2.7.3 + celery + redis + mysql 安装部署测试
以下是一个使用Airflow 2.7.3版本,搭配CeleryExecutor,使用Redis作为消息中间件,并且使用MySQL作为元数据库的安装和配置示例。
- 安装Airflow、Celery和Redis:
pip install apache-airflow==2.7.3
pip install celery
pip install redis
- 初始化Airflow数据库:
airflow db init
- 创建一个用于Celery的配置文件 (
airflow_celery.py
) 在$AIRFLOW_HOME/config.d/
目录下:
from airflow.configuration import conf
# Set the sql alchemy connection string
SQL_ALCH_CONN_STR = 'mysql+pymysql://user:password@localhost:3306/airflow'
# Configure Celery
celeryd_preload_options = {
'config_file': '/path/to/airflow/airflow.cfg'
}
broker_url = 'redis://localhost:6379/0'
result_backend = 'redis://localhost:6379/0'
# Configure dags and plugins folder
dags_folder = '/path/to/airflow/dags'
plugins_folder = '/path/to/airflow/plugins'
- 启动Redis服务:
redis-server
- 启动Celery Worker:
airflow celery worker
- 启动Celery Flower (可选,用于监控Celery任务):
airflow celery flower
- 验证Airflow是否使用Celery和Redis:
airflow tasks check
确保你的Airflow配置文件 (airflow.cfg
) 中的 executor
设置为 CeleryExecutor
,并且确保你的MySQL数据库已经创建,且Airflow元数据表已经初始化。
以上步骤提供了一个基本的Airflow 2.7.3与Celery、Redis和MySQL集成的示例。根据你的具体环境,可能需要调整Redis和MySQL的连接信息,以及修改系统的防火墙设置以允许相应的端口访问。
评论已关闭