我根据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
3条答案
按热度按时间ruyhziif1#
请设置AIRFLOW_HOME。这样就可以防止此问题。
导出气流_HOME=~/气流
lokaqttq2#
我意识到有不止一个
airflow.cfg
文件。正如airflow docs所述:* 首次运行Airflow时,它将在$AIRFLOW_HOME目录(默认为~/airflow)中创建一个名为airflow.cfg的文件。*因此,当我启动Web服务器指向PostgreSQL配置的
airflow.cfg
时,错误消失了。虽然使用PostgreSQL为什么会出现SQLite错误,但这没有意义。现在我明白了,我试图使用另一个不包含postgresqlsql_alchemy_conn
的原始airflow.cfg
启动Web服务器。原始airflow.cfg包含SQLite的默认sql_alchemy_conn。6ojccjat3#
我在运行Airflow进行开发时遇到过类似的问题。唯一的区别是我没有使用不同的数据库,而是运行在Airflow支持的默认sqlite中。我发布此回复,以便对使用堆栈跟踪日志解决此问题的人有用。
如文档中所述,sqlite支持的最低版本为3.15.0
在我的例子中,安装的sqlite版本是3. 41. 0,但我仍然遇到了这个问题,因为Airflow使用的python解释器可能仍然使用LD_LIBRARY_PATH中可用的旧版本(如文档中所述)
因此,只需设置LD_LIBRARY_PATH并启动气流,即可为我解决此问题。