airflow.exceptions.AirflowConfigException:错误:不能使用小于3.15.0的sqlite版本

83qze16e  于 2023-01-13  发布在  SQLite
关注(0)|答案(3)|浏览(369)

我根据airflow docs设置了我的气流(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
ruyhziif

ruyhziif1#

请设置AIRFLOW_HOME。这样就可以防止此问题。
导出气流_HOME=~/气流

lokaqttq

lokaqttq2#

我意识到有不止一个airflow.cfg文件。正如airflow docs所述:* 首次运行Airflow时,它将在$AIRFLOW_HOME目录(默认为~/airflow)中创建一个名为airflow.cfg的文件。*
因此,当我启动Web服务器指向PostgreSQL配置的airflow.cfg时,错误消失了。虽然使用PostgreSQL为什么会出现SQLite错误,但这没有意义。现在我明白了,我试图使用另一个不包含postgresql sql_alchemy_conn的原始airflow.cfg启动Web服务器。原始airflow.cfg包含SQLite的默认sql_alchemy_conn。

6ojccjat

6ojccjat3#

我在运行Airflow进行开发时遇到过类似的问题。唯一的区别是我没有使用不同的数据库,而是运行在Airflow支持的默认sqlite中。我发布此回复,以便对使用堆栈跟踪日志解决此问题的人有用。
如文档中所述,sqlite支持的最低版本为3.15.0
在我的例子中,安装的sqlite版本是3. 41. 0,但我仍然遇到了这个问题,因为Airflow使用的python解释器可能仍然使用LD_LIBRARY_PATH中可用的旧版本(如文档中所述)
因此,只需设置LD_LIBRARY_PATH并启动气流,即可为我解决此问题。

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

相关问题