airflow.exceptions.AirflowConfigException: error: cannot use sqlite version < 3.15.0

airflow.exceptions.AirflowConfigException: error: cannot use sqlite version < 3.15.0

我根据 airflow docs
设置了我的 airflow (2.0.1) postgresql 连接 但是当我尝试使用它时,它告诉我应该让 Sqlite > 3.15.0。在Centos7上升级sqlite太难了。尽管如此,我为什么要使用和需要 sqlite?

(airflow) [root@airflow02 ~]# sudo -u airflow /opt/airflow/bin/airflow db check

错误:

Traceback (most recent call last):
      File "/opt/airflow/bin/airflow", line 5, in <module>
        from airflow.__main__ import main
      File "/opt/airflow/lib/python3.6/site-packages/airflow/__init__.py", line 34, in <module>
        from airflow import settings
      File "/opt/airflow/lib/python3.6/site-packages/airflow/settings.py", line 37, in <module>
        from airflow.configuration import AIRFLOW_HOME, WEBSERVER_CONFIG, conf  # NOQA F401
      File "/opt/airflow/lib/python3.6/site-packages/airflow/configuration.py", line 1007, in <module>
        conf.validate()
      File "/opt/airflow/lib/python3.6/site-packages/airflow/configuration.py", line 209, in validate
        self._validate_config_dependencies()
      File "/opt/airflow/lib/python3.6/site-packages/airflow/configuration.py", line 246, in _validate_config_dependencies
        raise AirflowConfigException(f"error: cannot use sqlite version < {min_sqlite_version}")
    airflow.exceptions.AirflowConfigException: error: cannot use sqlite version < 3.15.0

我发现有多个 airflow.cfg 文件。正如 airflow docs 所说:“你第一次 运行 Airflow 时,它会在你的 $AIRFLOW_HOME 目录中创建一个名为 airflow.cfg 的文件(~/airflow by默认)."

因此,当我启动 Web 服务器并指向已配置的 PostgreSQL airflow.cfg 时,错误消失了。尽管使用 PostgreSQL 为什么会出现 SQLite 错误,但没有意义。现在我知道我正在尝试使用另一个不包含 postgresql sql_alchemy_conn 的原始 airflow.cfg 来启动网络服务器。原始 airflow.cfg 包含 SQLite 的默认值 sql_alchemy_conn。

请设置AIRFLOW_HOME。那么你就可以避免这个问题了。

导出AIRFLOW_HOME=~/气流