将数据库更改为 postgres 时气流并行性失败

Airflow parallelism failuer while changing the DB to postgres

我已经在本地安装了 airflow,我正在将执行器更改为 运行 并行任务 为此,我改变了

1- 数据库到 Postgres 13.3

2- 在配置文件中 sql_alchemy_conn = postgresql+psycopg2://postgres:postgres@localhost/postgres

3-执行器=本地执行器

我检查了数据库没有错误 使用 气流数据库检查 --> 信息 - 连接成功。 airflow db init --> 初始化完成

我收到错误并且我根本不使用 SQLite

1- {dag_processing.py:515} 警告 - 因为在使用 SQLite 时我们不能使用超过 1 个线程(parsing_processes = 2)。所以我们将并行度设置为 1.

2- 我从 airflow 网络界面收到这个错误

The scheduler does not appear to be running.
The DAGs list may not update, and new tasks will not be scheduled.

那么我要不要做其他改变?

你真的在更改配置后重新启动 Airflow webserver/scheduler 吗?

以下日志记录语句:

{dag_processing.py:515} WARNING - Because we cannot use more than 1 thread (parsing_processes = 2 ) when using SQLite. So we set parallelism to 1.

来自Airflow 2.0.1 with the following code fragment

if 'sqlite' in conf.get('core', 'sql_alchemy_conn') and self._parallelism > 1:
    self.log.warning(
        "Because we cannot use more than 1 thread (parsing_processes = "
        "%d ) when using sqlite. So we set parallelism to 1.",
        self._parallelism,
    )
    self._parallelism = 1

这意味着不知何故,根据您的 [core] sql_alchemy_conn 设置,它仍然处于 'sqlite'。我想如果你确定你改变了 airflow.cfg 并重新启动所有气流服务,它可能会获取另一个 airflow.cfg 的副本,然后你期望。请检查日志以验证它是否使用了正确的日志。