统信UOS部署生产级Airflow需三步:一、源码编译安装Python 3.11(用make altinstall防破坏系统);二、配置PostgreSQL 14为元数据库(创建airflow用户及airflow_meta库);三、用venv隔离安装Airflow 2.8.4,启用CeleryExecutor并对接PostgreSQL+Redis。

在统信UOS系统中部署可生产级使用的Airflow服务,需绕过官方不直接支持Debian系ARM64/LoongArch架构的限制,通过源码编译+定制依赖方式完成安装,并配置PostgreSQL后端与Celery执行器。
安装Python 3.10及以上运行环境
统信UOS默认Python版本为3.9,而Airflow 2.8+要求Python ≥3.10,必须手动升级。先确认系统架构:uname -m,若为aarch64或loongarch64,不可使用x86_64的预编译包。
从python.org下载对应架构的Python 3.11源码包(如Python-3.11.9.tgz),解压后进入目录执行:./configure --enable-optimizations --with-ensurepip=install → make -j$(nproc) → sudo make altinstall。
这一步必须用make altinstall而非make install,否则会覆盖系统自带的python3命令,导致UOS桌面组件异常。【不可跳过】
验证安装:python3.11 --version,输出应为3.11.9。
配置PostgreSQL作为元数据库
Airflow不接受SQLite用于生产环境,UOS应用商店中的PostgreSQL 14可直接安装,但需初始化非默认用户与数据库。
方法一:使用系统包管理器安装sudo apt update → sudo apt install postgresql-14 postgresql-client-14。
方法二:若apt源无响应,从PostgreSQL官网下载UOS适配的.deb包(注意匹配uos20/22版本号),用sudo dpkg -i安装,再运行sudo apt --fix-broken install补依赖。
切换到postgres用户初始化专用账户:sudo -u postgres createuser -P airflow,密码设为airflow123;再创建数据库:sudo -u postgres createdb -O airflow airflow_meta。
安装Airflow并启用Celery执行器
第一步:创建隔离环境python3.11 -m venv ~/airflow_env → source ~/airflow_env/bin/activate。
第二步:升级pip并安装核心依赖pip install --upgrade pip → pip install "apache-airflow[celery,postgres,redis]==2.8.4"。【必须指定2.8.4,更高版本在UOS上存在celery 5.3.x与kombu兼容性问题】
第三步:初始化配置export AIRFLOW_HOME=/opt/airflow → mkdir -p $AIRFLOW_HOME → airflow db init。
该命令会读取$AIRFLOW_HOME/airflow.cfg,首次运行自动创建默认配置文件,但需手动修改三处:
① 找到executor = SequentialExecutor行,改为executor = CeleryExecutor;
② 找到sql_alchemy_conn = sqlite:////行,替换为sql_alchemy_conn = postgresql+psycopg2://airflow:airflow123@localhost:5432/airflow_meta;
③ 找到broker_url = redis://localhost:6379/0(若未出现则新增一行),确保Redis已安装并运行:sudo apt install redis-server → sudo systemctl enable redis-server && sudo systemctl start redis-server。
第四步:创建初始用户airflow users create --username admin --password admin --firstname Admin --lastname User --role Admin --email admin@example.com。
第五步:启动Webserver与Worker
新终端中运行:airflow webserver;另启终端运行:airflow celery worker。

















