我正在尝试首次尝试Airflow,并尝试将其连接到本地SQLite数据库。但是我似乎无法真正地去做。
我已经阅读了Airflow's document,将我的executor
设置为LocalExecutor
,并将我的sql_alchemy_conn
设置为sqlite:////home/myName/Programs/sqlite3/DatabaseName.db
,但似乎没有引发
Traceback (most recent call last):
File "/usr/local/bin/airflow", line 21, in <module>
from airflow import configuration
File "/usr/local/lib/python2.7/dist-packages/airflow/__init__.py", line 35, in <module>
from airflow import configuration as conf
File "/usr/local/lib/python2.7/dist-packages/airflow/configuration.py", line 520, in <module>
conf.read(AIRFLOW_CONFIG)
File "/usr/local/lib/python2.7/dist-packages/airflow/configuration.py", line 283, in read
self._validate()
File "/usr/local/lib/python2.7/dist-packages/airflow/configuration.py", line 169, in _validate
self.get('core', 'executor')))
airflow.exceptions.AirflowConfigException: error: cannot use sqlite with the LocalExecutor
我尝试运行airflow initdb
时出现错误。我尝试四处搜索,并尝试了vipul sharma的解决方案found here,并将我的sql_alchemy_conn
的值设置为mysql://:@localhost:3306/
,但是由于它抛出了一个错误,所以它仍然不起作用
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1045, "Access denied for user 'myName'@'localhost' (using password: NO)")
错误。我知道答案应该很简单,但是我真的不知道该怎么做,所以希望您能指导我完成该怎么做/阅读。
答案 0 :(得分:1)
使用SequentialExecutor
“该执行程序一次只能运行一个任务实例,可以用于调试。它也是唯一可以与sqlite一起使用的执行程序,因为sqlite不支持多个连接。” airflow documentation
您只是不需要更改为LocalExecutor,将其更改回SequentialExecutor,将sql_alchemy_conn
更改为指向sqlite:////home/myName/Programs/sqlite3/DatabaseName.db
,然后停止气流服务(Web服务器,调度程序)。
执行airflow initdb
,然后再次启动服务。
希望如此。